• 转载用javascript实现评估用户输入密码的强度


    <script language=javascript>

    //程序设计:环球万维 netInter.cn
    //
    本程序是环球万维原创程序,若需转载,请注明网址及出处,谢谢.
    //
    以上信息与文章正文是不可分割的一部分,所以如果您要转载本文章,您必须保留以上信息.

    //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<=4)
    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
    ="#eeeeee";
    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>

    <form name=form1 action="" >
    输入密码:
    <input type=password size=10 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)>
    <br>密码强度:
    <table width="217" border="1" cellspacing="0" cellpadding="1" bordercolor="#cccccc" height="23" style='display:inline'>
    <tr align="center" bgcolor="#eeeeee"> 

    <td width="33%" id="strength_L"></td>

    <td width="33%" id="strength_M"></td>

    <td width="33%" id="strength_H"></td>
    </tr>
    </table>

    </form>
  • 相关阅读:
    MTK 关闭耳机调至最大音量时,提示损伤听力
    MTK LCM的添加
    chmod chown
    ubuntu14.04设置静态IP
    MTK NTP和NITZ更新时间的问题
    Rk3288 双屏异显单触摸
    MTK 修改默认时区
    MTK 屏幕旋转90度
    MTK WIFI底部加入返回按钮
    MTK 自定义按键添加广播
  • 原文地址:https://www.cnblogs.com/EasyLive2006/p/658521.html
Copyright © 2020-2023  润新知