js实现密码强度校验

来源:互联网 发布:贵州广电网络怎么上网 编辑:程序博客网 时间:2024/05/22 11:35

项目中需要一个密码强度的校验,找了好久,搜到这个挺好用的,记录一下。

//密码强度校验function checkPassword3(fieldId,tipMsg){/* 返回密码的强度级别 */    function checkStrong(sPW) {        if (sPW.length < 8||sPW.length > 20)            return 0; //密码太短或太长        Modes = 0;        for (i = 0; i < sPW.length; i++) {            //测试每一个字符的类别并统计一共有多少种模式.            Modes |= CharMode(sPW.charCodeAt(i));        }        return bitTotal(Modes);    }/* 判断字符类型 */    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; //特殊字符    }/* 统计字符类型 */    function bitTotal(num) {        modes = 0;        for (i = 0; i < 4; i++) {            if (num & 1) modes++;            num >>>= 1;        }        return modes;    }    /** * 密码强度等级说明,字符包括:小写字母、大写字母、数字、特殊字符 * 1---密码包含其中之一 * 2---密码包含其中之二 * 3---密码包含其中之三 * 4---密码包含其中之四     */    var fieldValue=getValue(fieldId);    if(fieldValue!=""&&checkStrong(fieldValue) < 2){    tipMsg='登录密码由8-20位数字+字母组成,字母区分大小写';        errShow(fieldId,tipMsg);        return false;    }    return true;}

参考文章出处:http://blog.csdn.net/ayhlay/article/details/11200173