这是一款用JS正则编写的检测客户输入密码强度的代码,可检测数字、小写字母、大写字母类型等。下面青岛星网跟大家分享:JS正则检测密码强度代码。
JS正则检测密码强度代码
window.onload = function () { var oTips = document.getElementById("tips"); var oInput = document.getElementsByTagName("input")[0]; var aSpan = oTips.getElementsByTagName("span"); var aStr = ["弱", "中", "强", "非常好"]; var i = 0; oInput.onkeyup = oInput.onfocus = oInput.onblur = function () { var index = checkStrong(this.value); this.className = index ? "correct" : "error"; oTips.className = "s" + index; for (i = 0; i < aSpan.length; i++)aSpan[i].className = aSpan[i].innerHTML = ""; index && (aSpan[index - 1].className = "active", aSpan[index - 1].innerHTML = aStr[index - 1]) } }; /** 强度规则 + ------------------------------------------------------- + 1) 任何少于6个字符的组合,弱;任何字符数的同类字符组合,弱; 2) 任何字符数的两类字符组合,中; 3) 12位字符数以下的三类或四类字符组合,强; 4) 12位字符数以上的三类或四类字符组合,非常好。 + ------------------------------------------------------- + **/ //检测密码强度 function checkStrong(sValue) { var modes = 0; if (sValue.length < 6) return modes; if (/\d/.test(sValue)) modes++; //数字 if (/[a-z]/.test(sValue)) modes++; //小写 if (/[A-Z]/.test(sValue)) modes++; //大写 if (/\W/.test(sValue)) modes++; //特殊字符 switch (modes) { case 1: return 1; break; case 2: return 2; case 3: case 4: return sValue.length < 12 ? 3 : 4 break; } }