<!doctype html> <html> <head> <meta charset="utf-8"> <title>密码强度输入测试</title> <style type="text/css"> .cont { margin-left:300px; margin-top:50px; border:solid 1px #ccc; width:520px; padding:20px;} .passwd { margin-bottom: 10px; } table td p { display:block; border-top:solid 4px #ccc; text-align:center; margin-right:10px; line-height:22px;} .red { border-top-color:#e00;} .green { border-top-color:#3C3;} .blue { border-top-color:#0CF;} .passwd span { font-size: 13px; color: #888; } .passwd span em { color:#f00; font-style:normal;} </style> </head> <body> <div class="cont"> <div class="passwd">密码:<input name="" type="password" id="passwd" /> <span><em>*</em>6-16位,由字母(区分大小写)、数字、符号组成</span> </div> <table width="200" border="0" cellpadding="0" cellspacing="0"> <tr> <td><p>弱</p></td> <td><p>中</p></td> <td><p>强</p></td> </tr> </table> </div> <script type="text/javascript"> var reg = /[^A-z0-9]|[^[]]/ ; var s = reg.test("ds33"); console.log(s); var pass = document.getElementById("passwd"); var zt = document.querySelectorAll("table tr p"); pass.addEventListener("focus",jiance); pass.addEventListener("blur",shifang); function shifang (e){ ceshi(e); pass.removeEventListener("keyup",ceshi); } function jiance (){ pass.addEventListener("keyup",ceshi); } function ceshi (e){ var txt = e.target.value ; if(txt.length>16){ e.target.value = txt.substr(0,16); } if(txt){ var qiangdu = AuthPasswd(txt); switch (qiangdu){ case 0: zt[0].className = "red"; zt[1].className = ""; zt[2].className = ""; break; case 1: zt[0].className = "red"; zt[1].className = "green"; zt[2].className = ""; break; case 2: zt[0].className = "red"; zt[1].className = "green"; zt[2].className = "blue"; break; } } else { zt[0].className = ""; zt[1].className = ""; zt[2].className = ""; } } function AuthPasswd(string) { if(string.length >=6) { if(/[a-zA-Z]/.test(string) && /[0-9]/.test(string) && /[^A-z0-9]|[^[]]/.test(string)) { return 2 ; }else if(/[a-zA-Z]/.test(string) || /[0-9]/.test(string) || /[^A-z0-9]|[^[]]/.test(string)) { if(/[a-zA-Z]+/.test(string) && /[0-9]/.test(string)) { return 1 ; }else if(/[a-zA-Z]/.test(string) && /[^A-z0-9]|[^[]]/.test(string)) { return 1 ; }else if(/[0-9]/.test(string) && /[^A-z0-9]|[^[]]/.test(string)) { return 1 ; }else{ return 0 ; } } }else{ return 0 ; } } </script> </body> </html>
直接写一个代码吧,没什么技术含量。