超实用判断密码强度的小方法,正则匹配输入密码难度,调理清晰,写法简单!
$("#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%"); } } });