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

时间:2023-03-09 04:07:23
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>

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,'')}" />

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] : ''">