在开发难免遇到一些前端需要验证输入的数据是否合法的问题,收集分享在这里同学们使用,欢迎补充。
1.标签上直接替换方法:
JS 控制不能输入特殊字符
1 | <input type="text"class="domain"onkeyup="this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')"; |
2 | this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'') |
JS 控制文本框只能输入数字
1 | < input onkeyup = "value=value.replace(/[^0-9]/g,'')" onpaste = "value=value.replace(/[^0-9]/g,'')" oncontextmenu = " value =value.replace(/[^0-9]/g,'')"> |
JS 控制文本框只能输入数字、小数点
1 | < input onkeyup = "value=value.replace(/[^\0-9\.]/g,'')" onpaste = "value=value.replace(/[^\0-9\.]/g,'')" oncontextmenu = " value =value.replace(/[^\0-9\.]/g,'')"> |
JS 控制文本框只能输入英文
1 | < input onkeyup = "value=value.replace(/[^\a-\z\A-\Z]/g,'')" onpaste = "value=value.replace(/[^\a-\z\A-\Z]/g,'')" oncontextmenu = " value =value.replace(/[^\a-\z\A-\Z]/g,'')"> |
JS 控制文本框只能输入英文、数字
1 | < input onkeyup = "value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" onpaste = "value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" oncontextmenu = " value =value.replace(/[^\a-\z\A-\Z0-9]/g,'')"> |
JS 控制文本框只能输入中文
1 | < input onkeyup = "value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onpaste = "value=value.replace(/[^\u4E00-\u9FA5]/g,'')" oncontextmenu = " value =value.replace(/[^\u4E00-\u9FA5]/g,'')"> |
JS 控制文本框只能输入中文、英文、数字
1 | < input onkeyup = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" onpaste = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" oncontextmenu = " value =value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')"> |
JS 控制文本框只能输入中文、英文、数字、空格
1 | < input onkeyup = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" onpaste = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" oncontextmenu = " value =value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')"> |
JS 控制文本框只能输入中文、英文、数字、小数点
1 | < input onkeyup = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" onpaste = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" oncontextmenu = " value =value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')"> |
2.输入之后立即清除:
//验证输入框内不能输入特殊字符,输入就立刻清除
1 | function cleanSpelChar(th){ |
2 | if (/["'<>%;)(&+]/.test(th.value)){ |
3 | $(th).val(th.value.replace(/[ "'<>%;)(&+]/," ")); |
3.如果是特殊字符,禁止输入:
//验证输入框内不能输入特殊字符,输入前先作判断
01 | function processSpelChar(){ |
02 | var code; var character; |
04 | code = window.event.keyCode; |
06 | code = arguments.callee.caller.arguments[0].which; |
08 | var character = String.fromCharCode(code); |
09 | var txt = new RegExp(/["'<>%;)(&+]/); |
10 | if (txt.test(character)){ |
12 | window.event.returnValue = false ; |
14 | arguments.callee.caller.arguments[0].preventDefault(); |