Javascript 对于其他语言,使用ASCII检查字符和空格失败

Javascript 对于其他语言,使用ASCII检查字符和空格失败,javascript,ascii,multilingual,Javascript,Ascii,Multilingual,如果我们只允许字符和空格,我们通常在javascript中比较ASCII值。但是,如果我们支持多种语言,检查将失败。请在这方面给我建议,还有其他考虑其他语言的方法吗。。。 我们通常使用的javascript是这样--> 功能特征和空间唯一(objEvent){ 如果((objEvent.keyCode>=97&&objEvent.keyCode=65&&objEvent.keyCode),那是因为您非常严格地只允许拉丁字母表中的26个字母,没有任何发音符号,更不用说东文、西里尔文或中文字符了 您

如果我们只允许字符和空格,我们通常在javascript中比较ASCII值。但是,如果我们支持多种语言,检查将失败。请在这方面给我建议,还有其他考虑其他语言的方法吗。。。 我们通常使用的javascript是这样-->

功能特征和空间唯一(objEvent){

如果((objEvent.keyCode>=97&&objEvent.keyCode=65&&objEvent.keyCode),那是因为您非常严格地只允许拉丁字母表中的26个字母,没有任何发音符号,更不用说东文、西里尔文或中文字符了

您可以扩展if以支持所有这些字符。只需从internet上获取一个包含所有这些代码的表,在一两天内您就可以实现每一个合理的unicode字符范围

但是我认为你应该问问自己是否需要这个限制。人们可以随时输入垃圾,而且
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


PS:Your
else{returnfalse;}
已经过时。

我想这与
对象有关。keyCodeASCII只包含英文字符,如何验证其他语言的字符。是什么让你认为你的字符是ASCII格式的?你被绑定到keycodes,但它们也不完全是ASCII格式的。但我认为你是对的:你可能不会得到一个我认为,与其验证按键,不如检查输入的上下文(或其他内容)您正在处理。这样还可以防止人们粘贴无效字符。捕获按键并不安全。但是,我认为您根本不需要这样的检查。条件是A到Z、A到Z、空格和-被接受。其他任何内容都会被忽略。这就是重点。其他语言的字符都高于ASCII 127因此,忽略这些会使其不起作用。
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;     
}