利用excel校验身份证的原理和方法

上传人:平*** 文档编号:13272503 上传时间:2017-10-23 格式:DOC 页数:2 大小:23.92KB
返回 下载 相关 举报
利用excel校验身份证的原理和方法_第1页
第1页 / 共2页
利用excel校验身份证的原理和方法_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《利用excel校验身份证的原理和方法》由会员分享,可在线阅读,更多相关《利用excel校验身份证的原理和方法(2页珍藏版)》请在金锄头文库上搜索。

1、利用 excel 校验身份证的原理和方法题记:校验学生录入身份证号信息一直是个很头疼的问题,现在学生的身份证号基本都是 18 位,利用 excel 数据有效性只能校验位数是否正确 。而对于合法性却望尘莫及,今天查了很多资料,终于找到了一种方法,现介绍如下:一、身份证编码原理:关于身份证第 18 是怎么计算的,原理如下:根据中华人民共和国国家标准 GB 11643-1999中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数 字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 地址码(身份证前六位)表示编码对象常住

2、户口所在县(市、旗、区)的行政区划代码。生日期码(身份证第七位到第十四位)表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如:1981年 05 月 11 日就用 19810511 表示。 顺序码(身份证第十五位到十七位)为同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。其中第十七位奇数分给男性,偶数分给女性。 校验码(身份证最后一位)是根据前面十七位数字码,按照 ISO 7064:1983.MOD 11-2 校验码计算出来的检验码。 二、校验方法既然第十八位是校验位,那么我们将从这里入手方能搞定。第十八位数字的计算方法为: 1、将前面的身份

3、证号码 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。 5、通过上面得知如果余数是 2,就会在身份证的第 18 位数字上出现罗马数字的。如果余数是 10,身份证的最后一位号码就是 2。 例如:某男性的身份证号码是 34052419800101001X。我们要看看

4、这个身份证是不是合法的身份证。 首先:我们得出,前 17 位的乘积和是 189 然后:用 189 除以 11 得出的结果是 17 2/11,也就是说余数是 2。 最后:通过对应规则就可以知道余数 2 对应的数字是 x。所以,这是一个合格的身份证号码。 到此已经柳暗花明了,接下来就是写公式了,假设 excel 表的 A1 单元格记录的是身份证号码,我们在 B1 单元格输入如下公式:=IF(LEN(A1)=0,空,IF(LEN(A1)=15,老号,IF(LEN(A1)18,位数不对,IF(CHOOSE(MOD(SUM(MID(A1,1,1)*7+MID(A1,2,1)*9+MID(A1,3,1)*

5、10+MID(A1,4,1)*5+MID(A1,5,1)*8+MID(A1,6,1)*4+MID(A1,7,1)*2+MID(A1,8,1)*1+MID(A1,9,1)*6+MID(A1,10,1)*3+MID(A1,11,1)*7+MID(A1,12,1)*9+MID(A1,13,1)*10+MID(A1,14,1)*5+MID(A1,15,1)*8+MID(A1,16,1)*4+MID(A1,17,1)*2),11)+1,1,0,X,9,8,7,6,5,4,3,2)=IF(ISNUMBER(RIGHT(A1,1)*1),RIGHT(A1,1)*1,X),正确,错误)好了,搞定!备注说明:关于大陆身份证有的人会发现前几位为什么变化了。这主要出现在中国的重庆。原有的重庆人的身份证多数以 51 开头。以前隶属于四川的原因。但新办的身份证可能是 50 开头,原因是行政区划改变所致。中国各地的行政区划代码请参考国家统计局网站

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号