我必须在我的应用上验证一系列输入。用户可以输入任何字符,因为该应用程序具有多语言支持。
所以我只需要阻止数字和特殊字符,但不需要强调的字符......
你们可以帮忙吗?
我的代码:
var textInputs,
AllowRegex = [A-Za-z\u00c0-\u017e ];
textInputs = document.querySelectorAll('input[type=text]');
for(i = 0; i < textInputs.length; i++){
if ( !AllowRegex.test(textInputs[i].value) ){
alert(textInputs[i].value);
} else {
$obj.list[i] = textInputs[i].value;
}
}
console.log($obj.list);
答案 0 :(得分:1)
您可以使用unicode范围包含所需的所有特殊字符。
\[A-Za-z\u00c0-\u017e ]\
将覆盖其中的大多数,但可能不是全部。您可以在this website上查找所需的特定字符代码。正如您在上面的示例中所看到的,您只需在字符代码前面加上\ u来声明它正在使用unicode。
应该注意的是,这不适用于正则表达式的所有实现,但适用于JavaScript