JAVASCRIPT
VUE
REACT
NODE
ES6
TYPESCRIPT

Js校验身份证号码

2021. 06. 04    

JS校验身份证号码

let str = '33020319660820889'
// let str = '3307811985090780'
// let str = '14022719921120051'
function digit(i) {
    return ((Math.pow(2, (17 - (i - 1)))) % 11) * (Number(str.substring(i - 1, i)))
}
function IDCard(IDcarNum) {
    let num = 0;
    for (let i = 1; i < IDcarNum.length + 1; i++) {
        num += digit(i)
    }
    num = (12 - (num % 11)) % 11;
    num = num == 10 ? 'X' : num
    return (IDcarNum + num)
}
console.log(IDCard(str))