只能输入数字只能有一个小数点,小数点不能在开头,不能在结尾,第一位允许添加负号

来源:互联网 发布:mac无法给u盘分区 编辑:程序博客网 时间:2024/05/02 12:46

http://blog.sina.com.cn/s/blog_5edcfe6a0100iojm.html

 

//只能输入数字只能有一个小数点,小数点不能在开头,不能在结尾,第一位允许添加负号

function clearNoNumOfAlert(obj){

    //得到第一个字符是否为负号
    var t = obj.value.charAt(0);  
       //先把非数字的都替换掉,除了数字和.   
       obj.value = obj.value.replace(/[^/d.]/g,"");   
       //必须保证第一个为数字而不是.   
       obj.value = obj.value.replace(/^/./g,"");   
       //保证只有出现一个.而没有多个.   
       obj.value = obj.value.replace(//.{2,}/g,".");   
       //保证.只出现一次,而不能出现两次以上   
       obj.value = obj.value.replace(".","$#$").replace(//./g,"").replace("$#$",".");
       //如果第一位是负号,则允许添加
       if(t == '-'){
         obj.value = '-'+obj.value;
       }
}