JS 密码强度验证(兼容IE,火狐,谷歌) |
本文标签:JS,密码强度 大概样式:
复制代码 代码如下: //=================HTML页面================= <body onload="InitCss();"> <form> <div> <table> <tr> <td> 密码: </td> <td> <input id="txtPassword" type="password" style="width: 130px;" maxlength="16" onfocus="InitCss();" onblur="ValidateInput(password,this.value)" onkeydown="validatePwdStrong(this.value);" /> </td> <td> <div id="tipPosition"> </div> </td> </tr> <tr> <td> </td> <td> <table id="pwdStrong_color"> <tr> <td id="pwdStrong_1"> </td> <td id="pwdStrong_2"> </td> <td id="pwdStrong_3"> </td> <td id="pwdStrong_4"> </td> </tr> </table> </td> <td> <div id="pwdStrong_text"> </div> </td> </tr> </table> </div> </form> </body> JS文件 复制代码 代码如下: //使用$替换document.getElementById函数 var $ = function(v) { return document.getElementById(v); } /******************************************************验证用户输入******************************************************/ function ValidateInput(element, value) { //验证密码 if (element == "password") { if (value.toString().length < 6) { $(tipPosition).className = error; $(tipPosition).innerHTML = "密码设置错误 。密码长度过小 。"; return; } else { $(tipPosition).className = success; $(tipPosition).innerHTML = "填写正确 。"; } } } /*================================密码验证JS =========== Begin=======================================*/ //密码初始化的样式 function InitCss() { $(tipPosition).className = tip; $(tipPosition).innerHTML = "最小长度:6 。 最大长度:16 。"; } /*================================密码强度 ===========Begin=======================================*/ function Evaluate(word) { return word.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length; } function validatePwdStrong(value) { var pwd = { color: [#E6EAED, #AC0035, #FFCC33, #639BCC, #246626], text: [太短, 弱, 一般, 很好, 极佳] }; function colorInit() { $(pwdStrong_1).style.backgroundColor = pwd.color[0]; $(pwdStrong_2).style.backgroundColor = pwd.color[0]; $(pwdStrong_3).style.backgroundColor = pwd.color[0]; $(pwdStrong_4).style.backgroundColor = pwd.color[0]; } if (Evaluate(value) == 1) { colorInit(); $(pwdStrong_1).style.backgroundColor = pwd.color[1]; $(pwdStrong_text).innerHTML = pwd.text[1]; $(pwdStrong_text).style.color = pwd.color[1]; } else if (Evaluate(value) == 2) { colorInit(); $(pwdStrong_1).style.backgroundColor = pwd.color[2]; $(pwdStrong_2).style.backgroundColor = pwd.color[2]; $(pwdStrong_text).innerHTML = pwd.text[2]; $(pwdStrong_text).style.color = pwd.color[2]; } else if (Evaluate(value) == 3) { colorInit(); $(pwdStrong_1).style.backgroundColor = pwd.color[3]; $(pwdStrong_2).style.backgroundColor = pwd.color[3]; $(pwdStrong_3).style.backgroundColor = pwd.color[3]; $(pwdStrong_text).innerHTML = pwd.text[3]; $(pwdStrong_text).style.color = pwd.color[3]; } else if (Evaluate(value) == 4) { $(pwdStrong_1).style.backgroundColor = pwd.color[4]; $(pwdStrong_2).style.backgroundColor = pwd.color[4]; $(pwdStrong_3).style.backgroundColor = pwd.color[4]; $(pwdStrong_4).style.backgroundColor = pwd.color[4]; $(pwdStrong_text).innerHTML = pwd.text[4]; $(pwdStrong_text).style.color = pwd.color[4]; } } //=================CSS文件================= 复制代码 代码如下: body { font: 13px 宋体; } /*密码验证提示CSS --------------------------------开始--------------------------------*/ #tipPosition { width: 400px; height: 16px; line-height: 18px; padding: 2px 30px; } .tip { background: #E6F2FF url(images/register_tip.png) no-repeat 10px center; border: 1px #0E5863 dashed; color: #0E5863; } .error { background: #FBECDF url(images/register_error.png) no-repeat 10px center; border: 1px Red dashed; color: #6D3737; } .success { background: #D6FCD2 url(images/register_success.png) no-repeat 10px center; border: 1px #2F5D36 dashed; color: #3D934A; } /*密码强度CSS --------------------------------开始--------------------------------*/ #pwdStrong_color { width: 136px; height: 3px; border: 0px; border-collapse: collapse; border-spacing: 0; background: #E6EAED; margin-top: 5px; } #pwdStrong_color td { padding: 0px; width: 44px; /*如不加td宽度,Google的Chrome不会正常显示*/ } #pwdStrong_text { font: 12px 宋体; } |