javascript判断密码强弱监测



javascript判断密码强弱监测。

Java代码 复制代码 收藏代码
  1. #Register .Pstyle6 .textstyle1 {   
  2.     padding:8px 22px;   
  3.     margin:0 1px;   
  4.     border-top:5px solid #CCCCCC;   
  5. }   
  6. #Register .Pstyle6 .textstyle2 {   
  7.     padding:8px 22px;   
  8.     margin:0 1px;   
  9.     border-top:5px solid #009900;   
  10. }  
#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代码 复制代码 收藏代码
  1. <p class=”Pstyle3″>登录密码 <span class=”red”>*</span>   
  2.       <input class=”inputstyle3″ type=”password” name=”pwd” id=”pwd” onkeyup=”javascript:checkpwd(this)”/>   
  3.       <%–<input class=”inputstyle3″ type=”password” name=”pwd” id=”pwd”/>–%>   
  4.     </p>   
  5. <p class=”Pstyle6″ id=”pwd_label”>   
  6.     <span id=”p1″ class=”textstyle1″>弱</span>   
  7.     <span id=”p2″ class=”textstyle1″>中</span>   
  8.     <span id=”p3″ class=”textstyle1″>强</span>   
  9. </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代码 复制代码 收藏代码
  1. <script>   
  2.     function testpwd(pwd, userName) {   
  3.         var score = 0;   
  4.         if (pwd.length < 4) {   
  5.             return -4;   
  6.         }   
  7.         if (typeof(userName) != ’undefined’ && pwd.toLowerCase() == userName.toLowerCase()) {   
  8.             return -2  
  9.         }   
  10.         score += pwd.length * 4;   
  11.         score += ( repeat(1, pwd).length - pwd.length ) * 1;   
  12.         score += ( repeat(2, pwd).length - pwd.length ) * 1;   
  13.         score += ( repeat(3, pwd).length - pwd.length ) * 1;   
  14.         score += ( repeat(4, pwd).length - pwd.length ) * 1;   
  15.         if (pwd.match(/(.*[0-9].*[0-9].*[0-9])/)) {   
  16.             score += 5;   
  17.         }   
  18.         if (pwd.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) {   
  19.             score += 5;   
  20.         }   
  21.         if (pwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {   
  22.             score += 10;   
  23.         }   
  24.         if (pwd.match(/([a-zA-Z])/) && pwd.match(/([0-9])/)) {   
  25.             score += 15;   
  26.         }   
  27.         if (pwd.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && pwd.match(/([0-9])/)) {   
  28.             score += 15;   
  29.         }   
  30.         if (pwd.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && pwd.match(/([a-zA-Z])/)) {   
  31.             score += 15;   
  32.         }   
  33.         if (pwd.match(/^\w+$/) || pwd.match(/^\d+$/)) {   
  34.             score -= 10;   
  35.         }   
  36.         if (score < 0) {   
  37.             score = 0;   
  38.         }   
  39.         if (score > 100) {   
  40.             score = 100;   
  41.         }   
  42.         return score;   
  43.   
  44.         function repeat(len, str) {   
  45.             var res = ”";   
  46.             for (var i = 0; i < str.length; i++) {   
  47.                 var repeated = true;   
  48.                 for (var j = 0, max = str.length - i - len; j < len && j < max; j++) {   
  49.                     repeated = repeated && (str.charAt(j + i) == str.charAt(j + i + len));   
  50.                 }   
  51.                 if (j < len) repeated = false;   
  52.                 if (repeated) {   
  53.                     i += len - 1;   
  54.                     repeated = false;   
  55.                 } else {   
  56.                     res += str.charAt(i);   
  57.                 }   
  58.             }   
  59.             return res;   
  60.         }   
  61.     }   
  62.     function checkpwd(pwd) {   
  63.         var userName = document.getElementById(‘userName’).value;   
  64.         var score = testpwd(pwd.value, userName);   
  65.         var pwd_label = document.getElementById(‘pwd_label’);   
  66.         if(score<34){   
  67.             $(“#p1″).addClass(“textstyle2″);   
  68.             $(“#p2″).removeClass(“textstyle2″);   
  69.             $(“#p3″).removeClass(“textstyle2″);   
  70.         }else if(score<68){   
  71.             $(“#p1″).addClass(“textstyle2″);   
  72.             $(“#p2″).addClass(“textstyle2″);   
  73.             $(“#p3″).removeClass(“textstyle2″);   
  74.         }else{   
  75.             $(“#p1″).addClass(“textstyle2″);   
  76.             $(“#p2″).addClass(“textstyle2″);   
  77.             $(“#p3″).addClass(“textstyle2″);   
  78.         }   
  79.   
  80.     }   
  81. </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
  • 查看图片附件