身份证第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;
}

相关文章
|
7月前
身份证排序问题
身份证排序问题
|
前端开发 JavaScript
JS前端实现身份证号码合法性校验(校验码校验)
JS前端实现身份证号码合法性校验(校验码校验)
674 0
|
算法
海明校验码
海明校验码
123 0
【软考学习7】数据校验——海明校验码、循环校验码、奇偶校验码
【软考学习7】数据校验——海明校验码、循环校验码、奇偶校验码
339 0
|
程序员 数据库
身份证后四位是否唯一?
身份证后四位是否唯一?
619 0
PTA 1031 查验身份证 (15 分)
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:
196 0
L1-016 查验身份证 (15 分)
L1-016 查验身份证 (15 分)
166 0
7-54 查验身份证 (15 分)
7-54 查验身份证 (15 分)
99 0
汉明校验码
汉明校验码学习心得
314 0
汉明校验码