代码如下:
function CharMode(iN) { if (iN >= 48 && iN <= 57) // 数字 return 1; if (iN >= 65 && iN <= 90) // 大写 return 2; if (iN >= 97 && iN <= 122) // 小写 return 4; else return 8; // 特殊字符 } // bitTotal函数,计算密码模式 function bitTotal(num) { modes = 0; for (i = 0; i < 4; i++) { if (num & 1) modes++; num >>>= 1; } return modes; } // 返回强度级别 function checkStrong(password) { if (password.length < 17) return 0; // 密码太短 Modes = 0; for (i = 0; i < password.length; i++) { // 密码模式 Modes |= CharMode(password.charCodeAt(i)); } return bitTotal(Modes); } // 判断强度 function pwStrength(password) { S_level = checkStrong(password); if (S_level > 3) { alert("符合标准!"); } else { alert("密码必须由大写字母、小写字母、数字和下划线组成,且长度不能小于17位!"); } }