首页 > Web开发 > 详细

JS校验身份证信息

时间:2020-04-08 17:16:21      阅读:69      评论:0      收藏:0      [点我收藏+]
/* 校验身份证号  */
function checkIdCard(id) {
    var flag = true;
    //转换大小写
    id = id.toUpperCase();
    var arrVerifyCode = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];
    var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
    var Checker = [1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1];
    if(id.length != 15 && id.length != 18) {
        layer.open({
            title: 信息,
            content: 身份证号不符合规则
        });
        flag = false;
    }
    var Ai = id.length == 18 ? id.substring(0, 17) : id.slice(0, 6) + "19" + id.slice(6, 16);
    if(!/^\d+$/.test(Ai)) {
        layer.open({
            title: 信息,
            content: 身份证号不符合规则
        });
        flag = false;
    }
    var yyyy = Ai.slice(6, 10),
        mm = Ai.slice(10, 12) - 1,
        dd = Ai.slice(12, 14);
    var d = new Date(yyyy, mm, dd),
        now = new Date();
    var year = d.getFullYear(),
        mon = d.getMonth(),
        day = d.getDate();
    if(year != yyyy || mon != mm || day != dd || d > now || year < 1800) {
        layer.open({
            title: 信息,
            content: 身份证号不符合规则
        });
        flag = false;
    }
    for(var i = 0, ret = 0; i < 17; i++) {
        ret += Ai.charAt(i) * Wi[i]
    }
    Ai += arrVerifyCode[ret %= 11];
    if(id.length == 18 && id != Ai) {
        layer.open({
            title: 信息,
            content: 身份证号不符合规则
        });
        flag = false;
    }
    return flag;
}

 

JS校验身份证信息

原文:https://www.cnblogs.com/XMBY/p/12660108.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!