身份证第18位校验码如何计算

简介: 身份证第18位校验码如何计算

身份证第18位校验码计算规则:

下面代码是javascript的实现;

校验为真返回true;否则返回false

function check(id){
        var vid = id+'';
        var flag = false;
        console.log(id)
        if(vid.length != 18){
            return flag;
        };
        var rule = '10X98765432';
        var lastStr = vid.slice(17);
        var str = id.slice(0, 17);
        var arr = str.split('').reverse();
        var s = 0;
        arr.forEach(function(val, i) {
             s+=Math.pow(2, ++i)%11*val;
        }, this);
        flag = rule[s%11] == lastStr.toUpperCase();
        return flag;
}

相关文章
|
8天前
|
JavaScript
JS严格校验身份证号-(严格校验每一位身份号码)
JS严格校验身份证号-(严格校验每一位身份号码)
35 0
|
8天前
|
移动开发
快速学会海明校验
快速学会海明校验
47 0
|
8天前
身份证排序问题
身份证排序问题
|
6月前
|
前端开发 JavaScript
JS前端实现身份证号码合法性校验(校验码校验)
JS前端实现身份证号码合法性校验(校验码校验)
179 0
|
10月前
【软考学习7】数据校验——海明校验码、循环校验码、奇偶校验码
【软考学习7】数据校验——海明校验码、循环校验码、奇偶校验码
276 0
|
11月前
|
程序员 数据库
身份证后四位是否唯一?
身份证后四位是否唯一?
285 0
L1-016 查验身份证 (15 分)
L1-016 查验身份证 (15 分)
139 0
7-54 查验身份证 (15 分)
7-54 查验身份证 (15 分)
79 0
汉明校验码
汉明校验码学习心得
255 0
汉明校验码