练习案例_密码强度
![](https://images2015.cnblogs.com/blog/223759/201607/223759-20160710112143217-516100619.png)
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
语法
stringObject.match(searchvalue)
stringObject.match(regexp)
参数 描述
searchvalue 必需。规定要检索的字符串值。
regexp 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
返回值
存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>密码强度检查</title> <style type="text/css"> #table td{ width:40px; height:19px; background-color:#F3F3F3; border:1px solid #D0D0D0; color:#BBBBBB; line-height:9px; color: khaki; } </style> <script type="text/javascript" src="jquery-1.8.3.js"></script> <script type="text/javascript" src="tools.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#password").keyup(function () { var value = this.value; var level = checkPasswordLevel(value); if(level==1){ $("#td1").css("backgroundColor","coral"); $("#td2").css("backgroundColor",""); $("#td3").css("backgroundColor",""); }else if(level==2){ $("#td1").css("backgroundColor","lightyellow"); $("#td2").css("backgroundColor","lightyellow"); $("#td3").css("backgroundColor",""); }else if(level==3){ $("#td1").css("backgroundColor","lightgreen"); $("#td2").css("backgroundColor","lightgreen"); $("#td3").css("backgroundColor","lightgreen"); } }); }); </script> </head> <body> <form> <label for="password">密码:</label> <input id="password" type="password" name="password" /> <table id="table" border="0" cellpadding="0" cellspacing="0" style="display: inline-table;"> <tr align="center"> <td id="td1">弱</td> <td id="td2">中</td> <td id="td3">强</td> </tr> </table> </form> </body> </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>密码强度练习案例</title> <style type="text/css"> #table td{ width:40px; height:19px; background-color:#F3F3F3; border:1px solid #D0D0D0; color:#BBBBBB; line-height:9px; } </style> </head> <body> <form> <label for="password">密码:</label> <input id="password" type="password" name="password" /> <table id="table" border="0" cellpadding="0" cellspacing="0" style="display: inline-table;"> <tr align="center"> <td id="td1">弱</td> <td id="td2">中</td> <td id="td3">强</td> </tr> </table> </form> </body> </html> <script type="text/javascript"> /* 密码强度规则: 弱:强度为1,密码长度小于6个就是弱 中:强度为2,除了弱和强之外都属于中 强:强度为3,密码长度大于或者等于8个,并且包含数字、小写字母和大写字母 */ //什么时候检查密码的强度 //声明一个函数专门检查密码的强度 function checkPassword(value){ if(!value){ //null / undefined / 空字符串 return 1; } if(value.length<6){ return 1; } // /[0-9]/.test ( value ) if(value.length>=8 && value.match(/[0-9]/) && value.match(/[a-z]/) && value.match(/[A-Z]/) ){ return 3; } return 2; } //1 创建一个定时器,每个100毫秒检查一下密码的强度 setInterval(function(){ var passwordElement = document.getElementById("password"); var passwordLevel = checkPassword(passwordElement.value); //2 如果检查结果是弱,就改变弱单元格的背景色... switch (passwordLevel){ case 1:{ document.getElementById("td1").style.backgroundColor="#ff8040"; document.getElementById("td2").style.backgroundColor=null; document.getElementById("td3").style.backgroundColor=null; break; } case 2:{ document.getElementById("td1").style.backgroundColor="#ffff6f"; document.getElementById("td2").style.backgroundColor="#ffff6f"; document.getElementById("td3").style.backgroundColor=null; break; } case 3:{ document.getElementById("td1").style.backgroundColor="#a8ff24"; document.getElementById("td2").style.backgroundColor="#a8ff24"; document.getElementById("td3").style.backgroundColor="#a8ff24"; break; } } },100); </script>