說明
1 onkeyup”=按鍵抬起觸發,“onafterpaste”=粘貼之后觸發,整體的意思是用於限制 2 3 \D:類似[^0-9] 非數字 4 /g:全局 5 this.value=this.value.replace(/\D/g,'') :把所有非數字的替換成空 6 7 img 是模式,為可選參數 8 i 忽略大小寫 9 m 多行模式 10 g 全局模式 11 12 \D等價於[^0-9] 13 \w等價於[A-Za-z_0-9] 14 \W等價於[^A-Za-z_0-9] 15 16 ?等價於匹配長度{0,1} 17 *等價於匹配長度{0,} 18 +等價於匹配長度{1,} 19 \d等價於[0-9]
html:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 9 只能輸入正整數(小數點也不能輸入):<input type="text" placeholder="只能輸入數字" onkeyup="this.value=this.value.replace(/\D/g,'')" 10 onafterpaste="this.value=this.value.replace(/\D/g,'')"><br> 11 只能輸入字母:<input type="text" placeholder="只能輸入字母" onkeyup="value=value.replace(/[^A-Za-z]/ig,'')"><br> 12 只能輸入漢字:<input type="text" placeholder="只能輸入漢字" onkeyup="value=value.replace(/[^[\u4e00-\u9fa5]*/ig,'')"><br> 13 14 只能輸入數字和字母(不能輸入符號):<input type="text" placeholder="只能輸入數字和字母" onkeyup="value=value.replace(/[^A-Za-z0-9]/ig,'')"><br> 15 只能輸入數字和漢字:<input type="text" placeholder="只能輸入數字和漢字" onkeyup="value=value.replace(/[^0-9\u4e00-\u9fa5]/g,'')"><br> 16 只能輸入字母和漢字:<input type="text" placeholder="只能輸入字母和漢字" onkeyup="value=value.replace(/[^A-Za-z\u4e00-\u9fa5]/g,'')"><br> 17 18 只能輸入非零的正整數:<input type="text" placeholder="只能輸入非零的正整數" 19 onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"><br> 20 </body> 21 <script> 22 //只能輸入大於或等於0的數,或者是小數 23 function IsIntegerOrDecimal(id) { 24 var str = document.getElementById(id).value.trim(); 25 if (str.length != 0) { 26 var reg = /^[1-9]\d*(\.[0-9]+)?|0(\.[0-9]+)?$/; 27 if (!reg.test(str)) { 28 return false; 29 } else { 30 return true; 31 } 32 } 33 } 34 </script> 35 </html>