今天论文答辩,错过的很多,于是匆匆忙忙回来以后问问大家有什么情况,小伙伴们告诉我说只要有人评教时给老师的建议中输入特殊字符,不但他的电脑会卡,不能提交,而且所有的人都会卡一会儿,我觉得这个问题其实是可以提前避免的,可以在评教之前让测试的同学们随意输入,包括特殊字符,问题是可以提前暴露的,可是因为测试的疏忽,导致评教的一些问题,不过有问题是好的,于是我回来自己查一些资料,其实就是在JS中写代码,当然方法总比困难到嘛!说说我的解决方案吧!
禁止特殊字符: onKeyPress="if(event.keyCode < 45 || event.keyCode > 57 ) event.returnValue = false;" 只能输入汉字: <input onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"> style="ime-mode:disabled"禁止汉字输入法 只能输入数字: <input onkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"> 只能输入英文和数字: <input onkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"> 控制输入框只能输入文字或数字,也可以不允许输入特殊字符 这里不允许输入如下字符: (像 !@#$%^&* 等)<br> <textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;"> 只禁止空格输入 onkeyup="value=value.replace(//s/g,'')" onkeydown="if(event.keyCode==32) return false" 只能输入中文和英文: onkeyup="value=value.replace(/[^/a-zA-Z/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/a-zA-Z/u4E00-/u9FA5]/g,''))" 不允许输入特殊字符和空格: <input id="code" onkeypress="return ValidateSpecialCharacter();" onblur="validate(this)"/>我用的方法有正则表达式和禁用一些特殊字符键,所以当你不想让用户输入哪些内容的时候,可以查keycode键码表,returnvalue=false