input输入框只能输入正数和小数(保留小数点后两位)

1.限制只能输入正数和小数保留小数点后两位

 1 <input type="number" id="txtNum" />
 2 
 3 <script type="javascript">
 4 $(function(){
 5     $("#txtNum").keyup(function () {
 6           $(this).val(ChangeNumValue($(this).val()));
 7      });
 8 
 9 
10 });
11 
12 function ChangeNumValue(tmpVal)
13         {
14             if (tmpVal) {
15                 var tmpVal = tmpVal.replace(/[^\d\.]/g, '');
16                 var reg = /^(0|([1-9]\d*))(\.\d{1,2})?$/; //正则验证保留 最多允许后输入两位小数
17                 if (!reg.test(tmpVal)) {
18                     tmpVal = tmpVal + "";
19                     tmpVal = tmpVal.substring(0, tmpVal.indexOf(".") + 3);
20                     var n = (tmpVal.split('.')).length - 1;
21                     if (n > 1) {
22                         tmpVal = tmpVal.substring(0, tmpVal.indexOf("."));
23                     }
24                 }
25                 return tmpVal;
26             } else {
27                 return "";
28             }
29         }
30 </script>
View Code

 2.只能输入正整数

1 <input type="text" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'0')}else{this.value=this.value.replace(/\D/g,'')}" />
View Code

 3.输入正数和小数(保留两位)

1 <input  type="number" step="0.01"  min="0" onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''">
View Code

 

posted @ 2019-11-12 10:09  常威打来福  阅读(11586)  评论(1编辑  收藏  举报