jquery验证二代身份证

jquery验证二代身份证$(‘#idcardno’).blur(function(){varidcard=$(this).val();varreg=/^\d{17}\d|x$/;varis_ok=reg.test(idcard);vararrExp=[7,9,10,5,8,4,2,1,6,3,7,9…

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

$('#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.net/153649.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号