小左闲谈

Jquery校验中国身份证号码是否正确

当前位置:首页 » 笔记 » 本页
In 笔记  @2017-12-04

二代身份证校验码的计算方法

二代身份证由17位数字和一位校验码组成,那么校验方法是怎样的呢?
1. 将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2
2. 将这17位数字和系数相乘的结果相加。
3. 用加出来和除以11,得到余数。
4. 余数只可能有0-1-2-3-4-5-6-7-8-9-1011个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2

使用Jquery校验身份证

function check_id(value){
    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(/^\d{17}\d|x$/i.test(value)){   
        var sum = 0, idx;  
        for(var i = 0; i < value.length - 1; i++){  
            // 对前17位数字与权值乘积求和  
            sum += parseInt(value.substr(i, 1), 10) * arrExp[i];  
        }  
        // 计算模(固定算法)  
        idx = sum % 11;  
        // 检验第18为是否与校验码相等  
        return arrValid[idx] == value.substr(17, 1).toUpperCase();  
    }else{  
        return false;  
    }  
}
若无特殊声明,表示本文由:小左闲谈.原创
链接地址: http://blog.m1910.com/archives/1711.html
版权所有 © 转载时请以链接形式注明作者和原始出处!
标签: ,   评论: 11枚 

已经有 11 枚评论. 发表 »

我要发言 »


Ctrl+Enter