我爱模板网在开发项目时,遇到了一个需求,即输入框禁止输入中文。下面介绍两种比较好的方法:
1、输入的内容的Unicode编码不在0-255之间,就说明输入的是中文,将它过滤掉即可:
<input onpaste="return false" ondragenter="return false" onkeyup="this.value=check(this.value)"> <script> function check(str){ var temp="" for(var i=0;i<str.length;i++) if(str.charCodeAt(i)>0&&str.charCodeAt(i)<255) temp+=str.charAt(i) return temp } </script>
2、直接利用正则匹配,输入中文时,直接替换为空格。
<input type="text" class="username" οnkeyup="value=value.replace(/[\u4e00-\u9fa5]/ig,'')" />
第二种方法比第一种更简洁,推荐使用。