超实用判断密码强度的小方法,正则匹配输入密码难度,调理清晰,写法简单!
$("#password2").keyup(function () {
if ($(this).val() != "") {
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
if (false == enoughRegex.test($(this).val())) {
//密码小于六位的时候,密码强度图片都为灰色
$("#change_pass_strong").css("width", "0%");
}
else if (strongRegex.test($(this).val())) {
//强,密码为八位及以上并且字母数字特殊字符三项都包括
$("#change_pass_strong").css("width", "100%");
}
else if (mediumRegex.test($(this).val())) {
//中等,密码为七位及以上并且字母、数字、特殊字符三项中有两项,强度是中等
$("#change_pass_strong").css("width", "50%");
}
else {
//弱,如果密码为6为及以下,就算字母、数字、特殊字符三项都包括,强度也是弱的
$("#change_pass_strong").css("width", "20%");
}
}
});