zl程序教程

您现在的位置是:首页 >  前端

当前栏目

jquery验证二代身份证

jQuery 验证 身份证 二代
2023-06-13 09:12:32 时间

大家好,又见面了,我是你们的朋友全栈君。

$('#idcardno').blur(function () { 
   
        var idcard = $(this).val();
        var reg = /^\d{17}\d|x$/;
        var is_ok = reg.test(idcard);

        var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加权因子
        var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];//校验码
        if (is_ok) { 
   
            var sum = 0, idx;
            for (var i = 0; i < idcard.length - 1; i++) { 
   
                // 对前17位数字与权值乘积求和
                sum += parseInt(idcard.substr(i, 1), 10) * arrExp[i];
            }
            // 计算模(固定算法)
            idx = sum % 11;
            // 检验第18为是否与校验码相等
            if (arrValid[idx] == idcard.substr(17, 1)) { 
   
                $('#idcardinfo').html('ok').css({ 
   'color': 'green'})
            } else { 
   
                $('#idcardinfo').html('身份证号码错误').css({ 
   'color': 'red'})
            }

        } else { 
   
            $('#idcardinfo').html('身份证号码错误').css({ 
   'color': 'red'})
        }

    });

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153649.html原文链接:https://javaforall.cn