input框 限制只能输入金额(-.数字)

 1 <input type="text"  onkeyup="onlyNumber(this)"/>
 2  
 3      function onlyNumber(obj){    
 4                          
 5              //得到第一个字符是否为负号    
 6              var t = obj.value.charAt(0);      
 7              //先把非数字的都替换掉,除了数字和.和-号    
 8              obj.value = obj.value.replace(/[^d.-]/g,'');       
 9              //前两位不能是0加数字      
10              obj.value = obj.value.replace(/^0d[0-9]*/g,''); 
11              //必须保证第一个为数字而不是.       
12              obj.value = obj.value.replace(/^./g,'');       
13              //保证只有出现一个.而没有多个.       
14              obj.value = obj.value.replace(/.{2,}/g,'.');       
15              //保证.只出现一次,而不能出现两次以上       
16              obj.value = obj.value.replace('.','$#$').replace(/./g,'').replace('$#$','.');  
17              //如果第一位是负号,则允许添加    
18              obj.value = obj.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3');  
19             if(t == '-'){ return; }    
20      
21        }  

原文:https://blog.csdn.net/emsoc/article/details/79727095

原文地址:https://www.cnblogs.com/luoshengjie/p/10243565.html