分享身份证号码有效性校验的实现
admin 发布于:2015-06-16 14:18:19
阅读:loading
还是去年的那个时候,接着组织机构代码验证规则之后,做的是一个身份证号码有效性验证的程序,本着对程序严谨的态度,分别对15位和18位的身份证号的验证都提供了实现。身份证号现在是18位的,以往有15位的身份证号,分别简单的所一下它们的编号规则:
从左到右依次为:6位数字地址码,8位出生日期年月日,3位顺序递增数字,加1位校验码,用字母表示为:ABCDEFYYYYMMDDXXXR。
1)6位地址ABCDEF表示:省、市、县的行政区划代码,也就是说如果知道了你的身份证号码就能知道你户籍所在地的县。
2)8位出生日期YYYYMMDD:出生日期很好理解,如果月、日小于10,则在十位数上补0,凑足两位数。
3)3位地址数字XXX:指同一地址所在的范围内的同年、同月、同日的所有人编订的顺序号,其中这个3位数的末位,也就是各位数基数分配给男,偶数分配给女(也就是说身份证号的倒数第二位数基数表示性别为男,偶数表示性别为女)。
4)1位校验码R:身份证号码的前17位数字采用ISO 7064:1983,MOD 11-2 校验计算得出。
从左到右依次为:6位数字地址码,6位出生日期年月日,3位递增数字,用字母表示为:ABCDEFYYMMDDXXX。
1)6位地址与18位的规则意义有所不同。
2)出生日期的年只有两位数,如1999-01-01的生日则表示为990101。
3)老外拿的中国永久居住卡也是15位号码;
详细介绍参考地址:http://wenku.baidu.com/view/60217cea5ef7ba0d4a733bb2.html
相对于组织机构代码来说,身份证号码的校验网上太多了,传一份儿代码到附件吧。
点赞