我有一个小的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');
}
}
答案 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');
}