我使用以下正则表达式来输入密码字段:
/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+])[A-Za-z\d][A-Za-z\d!@#$%^&*()_+]{7,63}$/
我想增强它以强制至少一个数字,一个字母和一个特殊符号。
我使用以下JavaScript代码验证相同内容:
function validatePassword()
{
var password = document.getElementById('password').value;
var userID = document.getElementById('user_ID').value;
var regexPattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+])[A-Za-z\d][A-Za-z\d!@#$%^&*()_+]{7,63}$/ ;
if(regexPattern.test(password))
{
if(userID === password )
{
$('#status').text( 'User id is same as password . Please choose a more secure password');
return false;
}
else if(password === reverse(userID))
{
$('#status').text( 'Password is reverse of user id . Please choose a more secure password');
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}
我该怎么做?
感谢。
答案 0 :(得分:0)
您也可以这样检查,而不是使用正则表达式。
只需替换
if(regexPattern.test(password))
与
if(regexPattern.test(password) && /[a-zA-Z]/.test(password) && /[0-9]/.test(password) && /[\!\@\#\$\%\^\&\*\(\)\_\+]/.test(password) )
检查字符串是否为有效密码,包含字母,数字和特殊字符(如果您想要在范围内添加更多内容)。