身份证验证

$(function(){

    $("head").append('<link href="/Content/sweetalert-master (1)/sweetalert-master/dist/sweetalert.css" rel="stylesheet" />');

 

   

    $("head").append('<script src="/Content/sweetalert-master (1)/sweetalert-master/dist/sweetalert.min.js"></script>');

   

})

var provinces = {

    11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海",

    32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川",

    52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外"

};

function IDCardNumber(idcardID, provinceID, birthdayID, ageID, inputName) {

    $("#" + idcardID).blur(function () {

        var idNumber = $("#" + idcardID).val();

        if (idNumber == "") {

            $("#reset").click();

            sweetAlert('', '身份证号不能为空', 'warning');

        }

        else {

            var zifu = isCardID(idNumber);

            if (zifu == true) {

                var  province, birthday, currDate, month, date, age, sex;

                province = provinces[parseInt(idNumber.substr(0, 2))];

                birthday = idNumber.substring(6, 10) + "-" + idNumber.substring(10, 12) + "-" + idNumber.substring(12, 14);

                currDate = new Date();

                month = currDate.getMonth() + 1;

                date = currDate.getDate();

                age = currDate.getFullYear() - idNumber.substring(6, 10) - 1;

                if (idNumber.substring(10, 12) < month || (idNumber.substring(10, 12) == month && idNumber.substring(12, 14) <= date)) {

                    age++;

                }

                var ss = idNumber.substr(16, 1);

                if (parseInt(idNumber.substr(16, 1)) % 2 == 1) {

                    //

                    sex = "man";

                } else {

                    //

                    sex = "woman";

                }

                $("#" + provinceID).val(province);

                $("#" + birthdayID).val(birthday);

                $("#" + ageID).val(age);

                if (sex == "man") {

                    $("input[name='" + inputName + "'][type=radio][value='" + sex + "']").prop("checked", true);

                    $("input[name='" + inputName + "'][type=radio][value='woman']").prop("checked", false);

                }

                else {

                    $("input[name='" + inputName + "'][type=radio][value='" + sex + "']").prop("checked", true);

                    $("input[name='" + inputName + "'][type=radio][value='man']").prop("checked", false);

                }

            }

            else {

                $("#reset").click();

                sweetAlert('', zifu, 'warning');

            }

        }

    })

}

function isCardID(sId) {

    var iSum = 0;

    var info = "";

    if (!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误";

    sId = sId.replace(/x$/i, "a");

    if (provinces[parseInt(sId.substr(0, 2))] == null) return "你的身份证地区非法";

    sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));

    var d = new Date(sBirthday.replace(/-/g, "/"));

    if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) return "身份证上的出生日期非法";

    for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11);

    if (iSum % 11 != 1) return "你输入的身份证号非法";

    //provinces[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女");//此次还可以判断出输入的身份证号的人性别

    provinces[parseInt]

    return true;

}

 

 

将上面的方法在input标签一一对应

$(function(){

            IDCardNumber("idNumber","province", "birthday", "age","sex")

        })

 

 

验证是否为空

 

 

验证长度

 

 

验证号码是不是规范的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值