1. 程式人生 > >JS中input輸入框的一些限制

JS中input輸入框的一些限制

保留 小數 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("$#$","."); 13
obj.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輸入框的一些限制