有的時候需要限制input的輸入格式:
例如,輸入大於0的正整數
<input 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,'')}else{this.value=this.value.replace(/\D/g,'')}">
1、文本框只能輸入整數代碼(不能有小數點)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
2、文本框只能輸入數字(可以有小數點)
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> <input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能輸入數字');this.value='';}">
3、只能輸入字母和漢字
<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">
4、只能輸入英文字母和數字,不能輸入中文
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
5、只能輸入數字和英文
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">
6、小數點后只能有最多兩位(數字,中文都可輸入),不能輸入字母和運算符號
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
7、小數點后只能有最多兩位(數字,字母,中文都可輸入),可以輸入運算符號
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
JS通過正則限制input輸入框只能輸入正整數、小數(兩位小數)
1、只能是整數
<input type = "text" name= "number" id = 'number' onkeyup= "if(! /^d+$/.test(this.value)){alert('只能整數');this.value='';}" />
2、限制是兩位的小數
<input type = "text" name= "price" id = 'price' onkeyup= "if( ! /^d*(?:.d{0,2})?$/.test(this.value)){alert('只能輸入數字,小數點后只能保留兩位');this.value='';}" />
/^d*(?:.d{0,2})?$/表示必須是數字開頭,數字結尾