检测密码强度

来源:互联网 发布:和女生网络聊天技巧 编辑:程序博客网 时间:2024/06/11 13:37


检测密码强度:



<tr>
<td class="f-name"><span class="from_err">*</span>密码:</td>
<td><input id="11239" name="11239" type="password" class="text" maxlength="1024" value="" /> 
 密码强度:<span id="strength_L"></span><span id="strength_M"></span><span id="strength_H"></span> 
</td>
</tr>


        <script type="text/javascript">
        $(function () {

   //触发事件
            $("input[name='11239']").keyup(function () {
                pwStrength($(this).val());
            }).blur(function () {
                pwStrength($(this).val());
            })


        })


        //CharMode函数     
        //测试某个字符是属于哪一类.     
        function CharMode(iN) {
            if (iN >= 48 && iN <= 57) //数字     
                return 1;
            if (iN >= 65 && iN <= 90) //大写字母     
                return 2;
            if (iN >= 97 && iN <= 122) //小写     
                return 4;
            else
                return 8; //特殊字符     
        }
        //bitTotal函数     
        //计算出当前密码当中一共有多少种模式     
        function bitTotal(num) {
            modes = 0;
            for (i = 0; i < 4; i++) {
                if (num & 1) modes++;
                num >>>= 1;
            }
            return modes;
        }
        //checkStrong函数     
        //返回密码的强度级别     
        function checkStrong(sPW) {
            if (sPW.length <= 5)
                return 0; //密码太短     
            Modes = 0;
            for (i = 0; i < sPW.length; i++) {
                //测试每一个字符的类别并统计一共有多少种模式.     
                Modes |= CharMode(sPW.charCodeAt(i));
            }
            return bitTotal(Modes);
        }
        //pwStrength函数     
        //当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色     
        function pwStrength(pwd) { 
            O_color = "#e0f0ff";
            L_color = "#FF0000";
            M_color = "#FF9900";
            H_color = "#33CC00";
            if (pwd == null || pwd == '') {
                Lcolor = Mcolor = Hcolor = O_color;
            }
            else {
                S_level = checkStrong(pwd);
                switch (S_level) {
                    case 0:
                        Lcolor = Mcolor = Hcolor = O_color;
                    case 1:
                        Lcolor = L_color;
                        Mcolor = Hcolor = O_color;
                        break;
                    case 2:
                        Lcolor = Mcolor = M_color;
                        Hcolor = O_color;
                        break;
                    default:
                        Lcolor = Mcolor = Hcolor = H_color;
                }
            }


            document.getElementById("strength_L").style.background = Lcolor;
            document.getElementById("strength_M").style.background = Mcolor;
            document.getElementById("strength_H").style.background = Hcolor;
            return;
        }     
    </script>

0 0
原创粉丝点击