js验证密码安全强度

common.js

/**
 * 验证密码强度
 */
//CharMode函数,测试某个字符是属于哪一类
function CharMode(iN){
    if( iN >= 48 && iN <= 57 ){//数字
        return 1;
    }else if( iN >= 65 && iN <= 90 ){//大写字母
        return 2;
    }else if( iN >= 97 && iN <= 122 ){//小写字母
        return 4;
    }else{
        return 8;//特殊字符
    }
}

var modes;

//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);
}


密码框的onkeyup事件调用的方法:

//检测密码强度
function pwStrength(){
    var pwd = $('#newpassword').val();
    var width = 0;//105,159
    var safeStr = '';
    if( pwd == null || pwd == '' ){
        width = 0;
    }else{
        S_level = checkStrong(pwd);
        switch(S_level){
            case 0:
                width = 60;
                safeStr = '弱';
                break;
            case 1:
                width = 105;
                safeStr = '中';
                break;
            case 2:
                width = 159;
                safeStr = '强';
                break;
            default:
                width = 0;
        }
    }
    $('.ucenter_progress_bar').css('width',width+'px');
    $('.ucenter_safedetail').html(safeStr);
}

里面控制的是div的宽度,div有变色的背景图片。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部