javascript判断密码强弱监测。
Java代码





- #Register .Pstyle6 .textstyle1 {
- padding:8px 22px;
- margin:0 1px;
- border-top:5px solid #CCCCCC;
- }
- #Register .Pstyle6 .textstyle2 {
- padding:8px 22px;
- margin:0 1px;
- border-top:5px solid #009900;
- }
#Register .Pstyle6 .textstyle1 { padding:8px 22px; margin:0 1px; border-top:5px solid #CCCCCC; } #Register .Pstyle6 .textstyle2 { padding:8px 22px; margin:0 1px; border-top:5px solid #009900; }
Java代码





- <p class=”Pstyle3″>登录密码 <span class=”red”>*</span>
- <input class=”inputstyle3″ type=”password” name=”pwd” id=”pwd” onkeyup=”javascript:checkpwd(this)”/>
- <%–<input class=”inputstyle3″ type=”password” name=”pwd” id=”pwd”/>–%>
- </p>
- <p class=”Pstyle6″ id=”pwd_label”>
- <span id=”p1″ class=”textstyle1″>弱</span>
- <span id=”p2″ class=”textstyle1″>中</span>
- <span id=”p3″ class=”textstyle1″>强</span>
- </p>
<p>登录密码 <span>*</span> <input type="password" name="pwd" id="pwd" onkeyup="javascript:checkpwd(this)"/> <%--<input type="password" name="pwd" id="pwd"/>--%> </p> <p id="pwd_label"> <span id="p1">弱</span> <span id="p2">中</span> <span id="p3">强</span> </p>
Java代码





- <script>
- function testpwd(pwd, userName) {
- var score = 0;
- if (pwd.length < 4) {
- return -4;
- }
- if (typeof(userName) != ’undefined’ && pwd.toLowerCase() == userName.toLowerCase()) {
- return -2
- }
- score += pwd.length * 4;
- score += ( repeat(1, pwd).length - pwd.length ) * 1;
- score += ( repeat(2, pwd).length - pwd.length ) * 1;
- score += ( repeat(3, pwd).length - pwd.length ) * 1;
- score += ( repeat(4, pwd).length - pwd.length ) * 1;
- if (pwd.match(/(.*[0-9].*[0-9].*[0-9])/)) {
- score += 5;
- }
- if (pwd.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) {
- score += 5;
- }
- if (pwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {
- score += 10;
- }
- if (pwd.match(/([a-zA-Z])/) && pwd.match(/([0-9])/)) {
- score += 15;
- }
- if (pwd.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && pwd.match(/([0-9])/)) {
- score += 15;
- }
- if (pwd.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && pwd.match(/([a-zA-Z])/)) {
- score += 15;
- }
- if (pwd.match(/^\w+$/) || pwd.match(/^\d+$/)) {
- score -= 10;
- }
- if (score < 0) {
- score = 0;
- }
- if (score > 100) {
- score = 100;
- }
- return score;
- function repeat(len, str) {
- var res = ”";
- for (var i = 0; i < str.length; i++) {
- var repeated = true;
- for (var j = 0, max = str.length - i - len; j < len && j < max; j++) {
- repeated = repeated && (str.charAt(j + i) == str.charAt(j + i + len));
- }
- if (j < len) repeated = false;
- if (repeated) {
- i += len - 1;
- repeated = false;
- } else {
- res += str.charAt(i);
- }
- }
- return res;
- }
- }
- function checkpwd(pwd) {
- var userName = document.getElementById(‘userName’).value;
- var score = testpwd(pwd.value, userName);
- var pwd_label = document.getElementById(‘pwd_label’);
- if(score<34){
- $(“#p1″).addClass(“textstyle2″);
- $(“#p2″).removeClass(“textstyle2″);
- $(“#p3″).removeClass(“textstyle2″);
- }else if(score<68){
- $(“#p1″).addClass(“textstyle2″);
- $(“#p2″).addClass(“textstyle2″);
- $(“#p3″).removeClass(“textstyle2″);
- }else{
- $(“#p1″).addClass(“textstyle2″);
- $(“#p2″).addClass(“textstyle2″);
- $(“#p3″).addClass(“textstyle2″);
- }
- }
- </script>
<script> function testpwd(pwd, userName) { var score = 0; if (pwd.length < 4) { return -4; } if (typeof(userName) != 'undefined' && pwd.toLowerCase() == userName.toLowerCase()) { return -2 } score += pwd.length * 4; score += ( repeat(1, pwd).length - pwd.length ) * 1; score += ( repeat(2, pwd).length - pwd.length ) * 1; score += ( repeat(3, pwd).length - pwd.length ) * 1; score += ( repeat(4, pwd).length - pwd.length ) * 1; if (pwd.match(/(.*[0-9].*[0-9].*[0-9])/)) { score += 5; } if (pwd.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) { score += 5; } if (pwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) { score += 10; } if (pwd.match(/([a-zA-Z])/) && pwd.match(/([0-9])/)) { score += 15; } if (pwd.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && pwd.match(/([0-9])/)) { score += 15; } if (pwd.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && pwd.match(/([a-zA-Z])/)) { score += 15; } if (pwd.match(/^\w+$/) || pwd.match(/^\d+$/)) { score -= 10; } if (score < 0) { score = 0; } if (score > 100) { score = 100; } return score; function repeat(len, str) { var res = ""; for (var i = 0; i < str.length; i++) { var repeated = true; for (var j = 0, max = str.length - i - len; j < len && j < max; j++) { repeated = repeated && (str.charAt(j + i) == str.charAt(j + i + len)); } if (j < len) repeated = false; if (repeated) { i += len - 1; repeated = false; } else { res += str.charAt(i); } } return res; } } function checkpwd(pwd) { var userName = document.getElementById('userName').value; var score = testpwd(pwd.value, userName); var pwd_label = document.getElementById('pwd_label'); if(score<34){ $("#p1").addClass("textstyle2"); $("#p2").removeClass("textstyle2"); $("#p3").removeClass("textstyle2"); }else if(score<68){ $("#p1").addClass("textstyle2"); $("#p2").addClass("textstyle2"); $("#p3").removeClass("textstyle2"); }else{ $("#p1").addClass("textstyle2"); $("#p2").addClass("textstyle2"); $("#p3").addClass("textstyle2"); } } </script>
效果:
- 大小: 12.2 KB
- 查看图片附件