首页 > 建站教程 > JS、jQ、TS >  不让input输入中文的两种方法正文

不让input输入中文的两种方法

我爱模板网在开发项目时,遇到了一个需求,即输入框禁止输入中文。下面介绍两种比较好的方法:


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,'')" />


第二种方法比第一种更简洁,推荐使用。