使用ASCII检查字符和空格对其他语言是否失败

时间:2012-12-13 07:01:14

标签: javascript ascii multilingual

如果我们只允许字符和空格,我们通常会在javascript中比较ASCII值。但是,如果我们支持多种语言,那么检查就无法工作。请告诉我这个,考虑其他语言的任何其他方式...... 我们通常使用的javascript就像那样 - >

function charAndSpacesOnly(objEvent) {
    if((objEvent.keyCode>=97 && objEvent.keyCode<=122) || (objEvent.keyCode>=65 && objEvent.keyCode<=90) || (objEvent.keyCode==32) || (objEvent.keyCode==45)) {      
        return true;
    } else {
        return false;
    }
    return false;     
}

2 个答案:

答案 0 :(得分:0)

那是因为你非常严格地只允许拉丁字母的26个字母,没有任何变音符号,更不用说东方,西里尔或汉字了。

可以扩展if以支持所有这些字符。只需从互联网上获取包含所有这些代码的表格,并在一两天内实现每一个明智的unicode字符范围。

但我认为你应该问自己是否需要这个限制。人们总是可以随意输入垃圾,AaAaAaAaAa(你的支票没问题)真的比Golez Trol the 3rd更有效吗?

PS:您的else {return false;}已过时。

答案 1 :(得分:0)

我猜这与objEvent.keyCode<=122有关。所以122(其他语言)之后的所有字符都被排除在外。