关闭

JS最新的身份证验证代码

标签: javascript
217人阅读 评论(1) 收藏 举报
分类:
<script>
        function reproving() { //验证身份证
            var code=$("#cardId").val().toUpperCase();
            $("#cardId").val(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:"国外 "};
            var tip = "";
            var pass= true;

            if(!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)){
                tip = "身份证号格式错误!";
                pass = false;
               return false;
            }

           else if(!city[code.substr(0,2)]){
                tip = "身份证号输入有误!";
                pass = false;
               return false;
            }
            else{
                //18位身份证需要验证最后一位校验位
                if(code.length == 18){
                    code = code.split('');
                    //∑(ai×Wi)(mod 11)
                    //加权因子
                    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;
                    }
                    var last = parity[sum % 11];
                    if(parity[sum % 11] != code[17]){
                        pass =false;
                         tip = "身份证号输入有误!";
                        return false;

                    }
                }
            }
            if(pass){
             $("#msgbox").hide();
              return true;
            }
        }
</script>   
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

常用正则表达式大全,手机、电话、邮箱、身份证(最严格的验证)、IP地址、网址、日期等,一般前台js验证

1:http://blog.csdn.net/lun379292733/article/details/8169807 /*  * 手机号码格式  * 只允许以13、15、18开头的号码...
  • lvchaman
  • lvchaman
  • 2016-05-20 16:25
  • 5332

js实现完美身份证号有效性验证

最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个...
  • zjslqshqz
  • zjslqshqz
  • 2017-06-22 11:30
  • 682

js完美实现身份证号的有效验证

最近的前台验证比较多,自然要求也比较高,毕竟是网站上需要的一些东西。      之前做验证身份证号好像一直是验证位数够不够,如果够,则ok,这种简单的验证已经不符合现在的合法性要求了。因为身份证号是根...
  • u012788601
  • u012788601
  • 2016-11-13 22:36
  • 671

JS严格校验身份证号

以下是根据身份证号码编码规则,使用JS对其进行有效性验证代码 var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];...
  • itmyhome
  • itmyhome
  • 2015-03-11 21:18
  • 4804

js实现完美身份证号有效性验证

最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个...
  • baijianjun123456
  • baijianjun123456
  • 2016-08-24 11:46
  • 583

[js实例] 验证身份证和姓名

js文件部分:var vcity={ 11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古", 21:"辽宁",22:"...
  • xjtarzan
  • xjtarzan
  • 2016-05-17 17:00
  • 2005

js实现完美身份证号有效性验证

最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个...
  • qincidong
  • qincidong
  • 2014-10-27 16:27
  • 1371

js 验证身份证格式

function validateIdCard(idCard) { //15位和18位身份证号码的正则表达式 var regIdCard = /^(^[1-9]\d{7}((0\d)|...
  • lybwwp
  • lybwwp
  • 2015-08-29 11:11
  • 4227

js 验证身份证号码正确性

今天找半天js验证身份证的,从网上找了很多,自己也总结了一下,在此记录,以便以后使用查询方便,也供大家参考。 代码如下,可直接用身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最...
  • zl541907196
  • zl541907196
  • 2013-11-21 21:00
  • 3616

js实现完美身份证号有效性验证

js
  • wangyanming0719
  • wangyanming0719
  • 2015-11-04 09:18
  • 406
    个人资料
    • 访问:28298次
    • 积分:691
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:8篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论