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