阻止输入除英语之外的任何其他字母

时间:2015-01-26 00:40:41

标签: javascript validation ascii fromcharcode

我知道使用charcode和ascii值限制输入某些特殊字符或数字等的JavaScript。

无论如何,我可以阻止人们进入任何其他语言(我的意思是字母表)期待英语?更具体地说,如何阻止人们在文本框中输入中文或其他非英文字母名称并严格输入英文字母名称?

由于

3 个答案:

答案 0 :(得分:2)

我使用此功能从输入中删除特殊字符

function removeSpecials(evt) {
var input = document.getElementById("myinput");
var patt = /[^\u0000-\u007F ]+/;
setTimeout(function() {
     var value = input.value;
     input.value = value.replace(patt,"");
 },100);

}

重点是:我创建一个模式来检测所有特殊字符

var patt = /[^\u0000-\u007F ]+/;;

我替换了输入值

value.replace(patt,"");

这是FIDDLE

答案 1 :(得分:1)

阻止所有非ascii输入的最简单方法可能是

/^[\x00-\xff]+$/.test(input);

如果true由纯粹的ascii字符组成,则此表达式将返回input

如果找到任何非ascii字符,它将返回false


您可以调整已接受的ascii字符的范围以满足您的需求。 \x00-\x55包含ascii字符代码0-255

答案 2 :(得分:0)

您可以通过使用inputString.match(/^[A-Za-z]+$/)之类的内容检查输入,轻松地将用户限制为特定字符集。这会捕获像中文这样的语言,尽管有很多语言与英语几乎相同,因此不容易被阻止。