控制 输入框 只能输入数字、小数、负数

JavaScript代码:

 1 <script type="text/javascript">
 2 function clearNoNum(event,obj){ 
 3     //响应鼠标事件,允许左右方向键移动 
 4     event = window.event||event; 
 5     if(event.keyCode == 37 | event.keyCode == 39){ 
 6         return; 
 7     } 
 8     //先把非数字的都替换掉,除了数字和. 
 9     obj.value = obj.value.replace(/[^d.]/g,""); 
10     //必须保证第一个为数字而不是. 
11     obj.value = obj.value.replace(/^./g,""); 
12     //保证只有出现一个.而没有多个. 
13     obj.value = obj.value.replace(/.{2,}/g,"."); 
14     //保证.只出现一次,而不能出现两次以上 
15     obj.value = obj.value.replace(".","$#$").replace(/./g,"").replace("$#$","."); 
16     var t = obj.value.charAt(0); 
17     //如果第一位是负号,则允许添加  
18     if (t == '-') {
19         obj.value = '-' + obj.value;
20     }
21 } 
22 function checkNum(obj){ 
23     //为了去除最后一个. 
24     obj.value = obj.value.replace(/.$/g,""); 
25 }
26 </script>

html代码:

1  <div class="col-md-4">
2       <input type="text" onKeyUp="clearNoNum(event,this)" onBlur="checkNum(this)" value="$!{map.dto.invoiceNumStart}" class="form-control" placeholder="(起始)">
3  </div>
原文地址:https://www.cnblogs.com/yangh965/p/5555472.html