Javascript中的正则表达式问题转义特殊字符

Regex Issue in Javascript escape special characters

本文关键字:转义 特殊字符 问题 正则表达式 Javascript      更新时间:2024-06-16
validateName = function (str) {
               if (((/[!@#$%^&*()_+=-`~,.<>;':"'/'[']'|{}(_+]/)).test(str)) {
            return false;
        }
        if (str.length <= 2 || str.length >= 19) {
            return false;
        }
        return true;
    }

嗨,在上面的正则表达式中,我正在尝试接受一个介于 3 到 20 个字符之间的名称,它不应该有任何特殊字符,它可以有字母数字字符。问题是它不允许我使用大写字母。它也可以接受任何语言的单词。谢谢。

您必须包含您想要从其他语言中获得的所有字符,否则下面的正则表达式就足够了

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;
}

您可以简单地将方法替换为

validateName = function (str) {
    if ( (/'W+/).test(str) || str.length <= 2 || str.length >= 19 ) 
    {
        return false;
    }
    return true;
}

'W+检查所有特殊字符。