如果我们只允许字符和空格,我们通常会在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;
}
答案 0 :(得分:0)
那是因为你非常严格地只允许拉丁字母的26个字母,没有任何变音符号,更不用说东方,西里尔或汉字了。
你可以扩展if以支持所有这些字符。只需从互联网上获取包含所有这些代码的表格,并在一两天内实现每一个明智的unicode字符范围。
但我认为你应该问自己是否需要这个限制。人们总是可以随意输入垃圾,AaAaAaAaAa
(你的支票没问题)真的比Golez Trol the 3rd
更有效吗?
PS:您的else {return false;}
已过时。
答案 1 :(得分:0)
我猜这与objEvent.keyCode<=122
有关。所以122(其他语言)之后的所有字符都被排除在外。