js身份证验证

<script>
    //服务器校验
    function severCheck(){
        if(check()){
            var IDs = $("#IDs").val();
            var code = IDs;
            $.ajax({
                type: "GET",
                url: 'test',
                data: {code:code,tm:new Date().getTime()},
                dataType:'json',
                cache: false,
                success: function(data){
                    if("success" == data.result){
                        saveCookie();
                        window.location.href="<%=basePath%>main/index";
                    }else if("idserror" == data.result){
                        $("#IDs").tips({
                            side : 1,
                            msg : "信息错误",
                            bg : '#FF5080',
                            time : 15
                        });
                        showfh();
                        $("#IDs").focus();
                    }else{
                        $("#IDs").tips({
                            side : 1,
                            msg : "缺少参数",
                            bg : '#FF5080',
                            time : 15
                        });
                        showfh();
                        $("#IDs").focus();
                    }
                }
            });
        }
    }
    //客户端校验
    function check() {
        if ($("#IDs").val() == "") {
            $("#IDs").tips({
                side : 2,
                msg : '身份证不能为空',
                bg : '#AE81FF',
                time : 3
            });
        } else if(!checkIDs($("#IDs").val())){
            
        } else {
            $("#IDs").val(jQuery.trim($('#IDs').val()));
        }
        return true;
    }
    /*验证身份证的输入格式*/
    function checkIDs(code) {
        var city={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:"国外 "};
        if(!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(code)){
        
            $("#IDs").tips({
                side:3,
                msg:"身份证格式错误",
                bg:'#AE81FF',
                time:3
            });
            showfh();
            $("#IDs").focus();
            return false;
        }else if(!city[code.substr(0,2)]){
            $("#IDs").tips({
                side:3,
                msg:"身份证地址编码错误",
                bg:'#AE81FF',
                time:3
            });
            showfh();
            $("#IDs").focus();
            return false;
        }else{
          
            if(code.length == 18){
                code = code.split('');
         
                var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
              
                var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];
                var sum = 0;
                var ai = 0;
                var wi = 0;
                for (var i = 0; i < 17; i++)
                {
                    ai = code[i];
                    wi = factor[i];
                    sum += ai * wi;
                }
                if(parity[sum % 11] != code[17].toUpperCase())
                    $("#IDs").tips({
                        side:3,
                        msg:"身份证校验位错误",
                        bg:'#AE81FF',
                        time:3
                    });
                    showfh();
                    $("#IDs").focus();
                    return false;
                }
            }
        }
        return row;
    }
</script>

猜你喜欢

转载自blog.csdn.net/Oujenny/article/details/82148075
今日推荐