首页 > 技术文章 > input框 限制只能输入金额(-.数字)

luoshengjie 2019-01-09 12:12 原文

 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(/^0\d[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+)\.(\d\d).*$/,'$1$2.$3');  
19             if(t == '-'){ return; }    
20      
21        }  

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

推荐阅读