从1999年10月1日起,全国实行公民身份证号码制度,居民身份证编号由原15位升至18位。前6位为地址码;第七位至14位为出生日期码,此码由6位数改为8位数,其中年份用4位数表示;第15位至17位为顺序码,取消了顺序码中对百岁老人使用的特定编号;第十八位为校验码,主要是为了校验计算机输入公民身份证号码的前17位数字是否正确,其取值范围是0至10,当值等于10时,用罗马数字符χ表示
/* * 15位身份证转18位 * @param cardNum 15位身份证号码 * @param year 出生年份前两位,默认19 */ function getIdcard(cardNum,year = "19"){ var a = cardNum.replace(cardNum.substring(6,12),year+cardNum.substring(6,12)) var b = "7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2".split('-') var num = 0 for(var i =0;i<a.length;i++){ num += a[i]*b[i] } var res = num%11 switch(res) { case 0: a = a+"1" break; case 1: a = a+"0" break; case 2: a = a+"X" break; case 3: a = a+"9" break; case 4: a = a+"8" break; case 5: a = a+"7" break; case 6: a = a+"6" break; case 7: a = a+"5" break; case 8: a = a+"4" break; case 9: a = a+"3" break; case 10: a = a+"2" break; } return a; }
- THE END -
最后修改:2020年8月25日
非特殊说明,本博所有文章均为博主原创。