身份证号校验器
身份证号校验器是一个可以用来验证身份证号码是否有效的验证工具。
特点
1. 支持批量输入验证
2. 支持从数据库读取验证
3. 支持SQL SERVER
4. 支持ORACLE
身份证号码的结构
根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:
1. 六位数字地址码: 表示省(自治区、直辖市、特别行政区)、市(地级市、自治州、盟及国家直辖市所属市辖区和县的汇总码)、县(市辖区、县级市、旗)。
* 第一、二位表示省(自治区、直辖市、特别行政区)。
* 第三、四位表示市(地级市、自治州、盟及国家直辖市所属市辖区和县的汇总码)。其中,01-20,51-70表示省直辖市;21-50表示地区(自治州、盟)。
* 第五、六位表示县(市辖区、县级市、旗)。01-18表示市辖区或地区(自治州、盟)辖县级市;21-80表示县(旗);81-99表示省直辖县级市。
2. 八位数字出生日期码: 表示出生年月日(单数字月日左侧用0补齐)。其中年份用四位数字表示,年、月、日之间不用分隔符。
3. 三位数字顺序码: 表示同地区、同年、月、日出生的人员编定的顺序号。
4. 一位数字校验码: 作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,校验码如果出现数字10,就用X来代替。
校验码算法
1. 将身份证号码前面的17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
2. 将这17位数字和系数相乘的结果相加。
3. 用加出来和除以11,取余数。
4. 余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2。
例如:
如果余数是3,第18位的校验码就是9。如果余数是2那么对应的校验码就是X,X实际是罗马数字10。
下一步
Downcodes小编会继续探索更多关于身份证号校验器的知识,并分享给您!