jQuery密码验证未检查长度

时间:2016-01-19 09:09:04

标签: jquery html

我有一个小的jQuery密码验证程序检查一个小写字母,一个数字和七个字符。它工作正常,直到我尝试检查密码的长度。

function validatePassword(password)
{
    var upperCase = new RegExp('[A-Z]');
    var lowerCase = new RegExp('[a-z]');
    var numeric   = new RegExp('[0-9]');
    var length    = 7;

    if (password.match(upperCase) && 
        password.match(lowerCase) && 
        password.match(numeric) && 
        password.length(length))
    {
        $('#passError').html('Success');
    }
    else
    {
        $('#passError').html('Password does not meet requirments');
    }
}

2 个答案:

答案 0 :(得分:0)

要使用JavaScript检查字符串的长度,您应该使用:

password.length >= length

length属性返回输入的字符数,因为它几乎总是大于0,所以在javascript中if的上下文中表示true

答案 1 :(得分:0)

问题在于length。它不是一个函数,因此您需要使用您拥有的变量检查字符串的长度。它也应该大于或等于那个长度。您的if条件应如下所示:

if (password.match(upperCase) && 
    password.match(lowerCase) && 
    password.match(numeric) && 
    password.length >= length)
{
    $('#passError').html('Success');
}
else
{
    $('#passError').html('Password does not meet requirments');
}