公民身份证号码的编排规则
来源:互联网 发布:linux进程调度方式 编辑:程序博客网 时间:2024/05/01 07:57
现在普遍使用的都是18位的身份证号码,由17位数字本体码和1位校验码组成。作为尾位的校验码,采用ISO7064:1983,MOD11-2校验码系统,是根据校验公式,由本体码决定的,用来验证录入或转录过程的准确性。
校验码是由前17位数按统一的公式计算出来的。如果根据前17位计算得到第18位校验码,再将计算得到的校验码与输入的身份证号码的第18位数进行比较就可以判断身份证号码是否存在错误。
校验公式要求:按照从右到左的顺序,右边第一位(即校验码)乘以7,第二位乘以9,第三位乘以10,以此类推,之后要求这18个乘积的和除以11求余,通过余值得到对应的校验码(0-1 1-0 2-X、3-9 4-8 5-7 6-6 7-5 8-4 9-3 10-2)。
公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
【18位的身份证号码编排规则】
①地址码:(前6位)所在县(市、旗、区)的行政区划代码
全国县及县以上行政区划代码表http://www.stats.gov.cn/tjbz/xzqhdm/t20021125_46781.htm
②出生日期码:(第7位到第14位)
格式为八位数「20080808」,与旧身份证六位数「080808」不同。
③顺序码:(第15位到17位)县、区级政府所辖派出所的分配码
每个派出所分配码为10个连续号码,例如A派出所是「000-009」、B派出所是「060-069」。其中第17位奇数分给男性,偶数分给女性。
④校验码:(最后1位)
根据前面17位数字码按统一的公式计算出来的。
【第二代身份证的尾数(检验码)计算方法】
①输入身份证号码→设置为文本格式
数字超过了11位,系统会自动变成科学计数法的形式。
②数据→分列-固定宽度
将一个单元格中的数据分隔到多个单元格,每个数字占1个单元格。
③选择其中一个单元格Ctrl+Shift+*(星号)
选定活动单元格周围的当前数据区域
④复制Ctrl+C→选择性粘贴→转置→粘贴到A1:A17
把行变成了列
⑤「7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2」(②→④→粘贴到B1:B17)
前十七位数字本体码加权求和公式S=Sum(An*Bn),n=1,…,17
An:表示第n位置上的身份证号码数字值
Bn:表示第n位置上的加权因子
Bn:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
——⑥S=SUMPRODUCT(A1:A17,B1:B17)
=A1*7+A2*9+A3*10+A4*5+A5*8+A6*4+A7*2+A8*1+A9*6+A10*3+A11*7+A12*9+A13*10+A14*5+A15*8+A16*4+A17*2
⑦Y=Mod(S,11)
=Sum(An*Bn),n=1,…,17
=Mod(SUMPRODUCT(A1:A17,B1:B17),11)
⑧通过Y值找到对应的校验码Z
Z=(0-1 1-0 2-X 3-9 4-8 5-7 6-6 7-5 8-4 9-3 10-2)
———统一公式(⑥→⑧)
R=MOD((12-Mod(SUMPRODUCT(A1:A17,B1:B17),11)),11)
Z=IF(R=10,"X",R)
如果R=10,校验码Z为字母X;如果R≠10,校验码Z为数字R值。
【15位的身份证号码编排规则】
①1~6位为地区代码;
②7~12位为出生年月日;
③第13~15位为顺序号,并能够判断性别,奇数为男,偶数为女。
【15位的身份证号码转换为18位的身份证号码】
补充出生年份前两位数19、添加尾数检验码。
假设A列自A2起是身份证号(15位或18位)
①B列中身份证号全部改为18位,输入数组公式:
=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2)
=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2)
注意:数组公式输入后一定不要按回车,而是按Ctrl+Shift+Enter,Excel将在公式两边自动加上花括号{},自己键入花括号无效。
②C列中身份证号全部改为15位,输入公式:
=IF(LEN(A2)=15,A2,LEFT(REPLACE(A2,7,2,),15))
0 0
- 公民身份证号码的编排规则
- 18位公民身份证号码的编排规则
- 18位公民身份证号码的编排规则
- 18位身份证号码的编排规则
- 公民的身份证号码检测
- 我国公民的身份证号码合法性判断
- 公安部下属的全国公民身份证号码查询服务中心笔试题
- 18位公民身份证号码校验码的算法 18位身份证号码校验
- 身份证号码规则
- 身份证号码规则
- 身份证号码规则
- 身份证号码规则
- 身份证号码规则
- 身份证号码规则
- 身份证号码规则
- 身份证号码规则
- 身份证号码规则
- 身份证号码规则
- 找不到“sku001”解决办法
- 批量提取文件名的方法
- Excel如何删除公式保留数值
- 数据有效性 设置单元格格式 保护工作表
- webapp开发之打电话、发短信、发邮件功能实现
- 公民身份证号码的编排规则
- Excel常见错误代码及其解决方法
- IF_SUMIF_COUNTIF三大条件函数
- 编辑和印刷中常见字体的应用
- 当开发者产生一个伟大的想法之后应该做的10件事
- Google推出GDrive免费云存储服务
- 999
- 国内十大免费网络相册
- 十大在线网上冲印站点介绍