js验证强密码 大小写字母数字字符四选三 且大于8位

/**
 * 正则验证密码 大小写字母必须包含一位,其它任意
 * @author bug<375023402@qq.com>
 * @dateTime 2019-05-22T10:47:21+0800
 * @param    string                 obj 验证对象
 * @return   boolean
 */
function checkpwdstrong( obj ){
    var pwd = obj.val();
    //判断密码是否小于8位
    if(pwd.length<8){
        return false;
    }
    var reg = [/^(?=.*\d)/,/^(?=.*[a-z])/,/^(?=.*[A-Z])/];
    var validate_arr = [];//大小写字符 数字分类统计
    var validate_type = 0;//类别包含统计
    var validate_count = 0;//匹配总计
    for (var i = 0; i < reg.length; i++) {
        validate_arr[i] = 0;
        for (var j = 0; j< pwd.length; j++) {
            if(reg[i].test(pwd[j])){
                validate_arr[i]++; 
            }
        }
        if(validate_arr[i]>0){
            validate_type++;
        }
        validate_count += validate_arr[i];
    }
    if(validate_type == reg.length || (validate_type == 2 && validate_count<pwd.length)){
        return true;
    }
    return false;
}

 

posted @ 2019-07-12 14:23  加菲猫and大白  阅读(1372)  评论(0编辑  收藏  举报