在JavaScript中检查表单中的特殊字符。

时间:2011-12-02 14:53:08

标签: javascript

当我输入密码时,我正在尝试创建一个检查特殊字符的函数,例如!@#$%^& *〜。我一直在使用正则表达式检查其他所有内容,但有没有人知道我怎么做它所以函数检查至少其中一个特殊字符的密码?

这就是我所拥有的:

function validateEmail(email)
{
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,3}$/;  
    return emailPattern.test(email);  
}

function validatePassword(password)
{
    var passwordPattern = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])./;
    return passwordPattern.test(password)
}

function validate()
{
    var email = user.email.value;
    if(validateEmail(user.email.value))
    user.validEmail.value = "OK";
    else
        user.validEmail.value = "X";
    if(validatePassword(user.password.value))
        user.validPassword.value = "OK";
    else
        user.validPassword.value = "X";
}

1 个答案:

答案 0 :(得分:1)

您可以将任何非(字母,数字和下划线)字符与\W匹配。

因此,要查看密码是否有任何特殊字符,您只需使用:

if (password.match(/\W/)) {
   alert('you have at least one special character');
}

要在你的函数中使用它,你可以用以下代码替换整个正则表达式:

var passwordPattern = /^[\w\W]*\W[\w\W]*$/;

如果字符串至少有一个特殊字符,则返回true。