新公司框架源码的时候,发现了这个功能,于是搜索一番并封装了一下身份证号校验的类。
目前大家的身份证号大多是 18 位的,当然,也不排除有些老人的身份证号是 15 位的。...县级市(2位) + 出生年(4位) + 出生月(2位) + 出生日(2位) + 顺序号(3位) + 校验位(1位)
相比之下, 18位 比 15位 多出生年 2位 、校验位 1位 。...校验位的计算:
有17位数字,分别是:
7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2
分别用身份证的前 17 位乘以上面相应位置的数字,然后相加...用获得的值在下面 11 个字符里查找对应位置的字符,这个字符就是校验位。...‘1’, ‘0’, ‘X’, ‘9’, ‘8’, ‘7’, ‘6’, ‘5’, ‘4’, ‘3’, ‘2’
15位转18位:
从上述的分析中,可以知道,只要补充上年分和校验位就可以了。