如何使用jquery检查字符串是否包含特殊字符?

时间:2016-05-24 13:49:48

标签: jquery regex

我需要检查字符串是否包含特殊字符。我已经在其他领域使用了正则表达式,但为此,如果没有特殊字符,它将不会停止提交表单。无论我是否使用!,它总是会跳过这个。

if (str.search(/[^\!\@@\#\$\%\^\&\*\(\)\_\+\.\,\;\:]/) == -1) {
   alert("Your password must contain at least 1 special character.");
   e.preventDefault();
   return ("bad_char");
}

3 个答案:

答案 0 :(得分:1)

您可以使用



if (!/[!@#$%^&*()_+.,;:]/.test("ssss")) {
   alert("Your password must contain at least 1 special character.");
   e.preventDefault();
   return ("bad_char");
}




要点:

  • 最好使用RegExp#test()检查是否与正则表达式匹配
  • 无需转义字符类中的符号
  • 你可以"否定"测试的结果和那种方式确保字符串包含其中一个符号。

答案 1 :(得分:0)

你可以试试这个。

if(str.match(/[^A-Za-z0-9]/) === null)
{
    // not found
}
else 
{
    // found
}

澄清:如果Char不是字母数字,则为Special Character

答案 2 :(得分:0)

你可以这样做

if(/^[a-zA-Z0-9- ]*$/.test(str) == false) {
        console.log("contains special character");
    }