JS中input輸入框的一些限制
阿新 • • 發佈:2018-03-27
保留 小數 body ast sub index clear log AR
限制只能輸入正整數
<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,‘‘)}"/>
限制只能輸入最多兩位小數的正數
<input type="text" placeholder="優惠金額" onkeyup= "clearNoNum(this);"/>
1 /* 2 * 控制只能輸入數字並且最多允許兩位小數點 3 */ 4 function clearNoNum(obj){ 5 //修復第一個字符是小數點 的情況. 6 if(obj.value !=‘‘&& obj.value.substr(0,1) == ‘.‘){ 7 obj.value=""; 8 }9 obj.value = obj.value.replace(/^0*(0\.|[1-9])/, ‘$1‘);//解決 粘貼不生效 10 obj.value = obj.value.replace(/[^\d.]/g,""); //清除“數字”和“.”以外的字符 11 obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一個. 清除多余的 12 obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); 13obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,‘$1$2.$3‘);//只能輸入兩個小數 14 if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已經過濾,此處控制的是如果沒有小數點,首位不能為類似於 01、02的金額 15 if(obj.value.substr(0,1) == ‘0‘ && obj.value.length == 2){ 16 obj.value= obj.value.substr(1,obj.value.length); 17 } 18 } 19 }
JS中input輸入框的一些限制