validateName = function (str) {
if (((/[!@#$%^&*()_+=-`~,.<>;':"\/\[\]\|{}(_+]/)).test(str)) {
return false;
}
if (str.length <= 2 || str.length >= 19) {
return false;
}
return true;
}
嗨,在上面的正则表达式中,我试图接受3到20个字符之间的名称,并且它不应该包含任何特殊字符,它可以包含字母数字字符。 问题是不允许我使用大写字母。 它也可以接受任何语言的单词。 感谢。
答案 0 :(得分:0)
您只需用
替换您的方法即可validateName = function (str) {
if ( (/\W+/).test(str) || str.length <= 2 || str.length >= 19 )
{
return false;
}
return true;
}
\W+
检查所有特殊字符。
答案 1 :(得分:0)
您必须在其他语言中包含您想要的所有字符,否则在正则表达式下就足够了
var regex = /[^\w\s]+/;
例如
validateName = function (str) {
var regex = /[^\w\s]+/;
if (regex.test(str) || str.length <= 2 || str.length >= 19 )
{
return false;
}
return true;
}