搜档网
当前位置:搜档网 › 关于身份证最后一位校验码的生成

关于身份证最后一位校验码的生成

关于身份证最后一位校验码的生成
关于身份证最后一位校验码的生成

关于身份证最后一位校验码的生成

之前的一篇博客写的是关于Luhn算法,其中有提到过校验码,自我感觉对这个校验码的认识不够,于是我就摆渡了一下,是这么说的“校验码通常是一组数字的最后一位,由前面的数字通过某种运算得出,用以检验该组数字的正确性。常见的校验码有中华人民共和国居民身份证的最后一位,ISBN号码的最后一位等。代码作为数据在向计算机或其它设备进行输入时,容易产生输入错误,为了减少输入错误,编码专家发明了各种校验检错方法,并依据这些方法设置了校验码。”

正好看到了“常见的校验码有中华人民共和国居民身份证的最后一位”,然后就勾起了我的兴趣,因为之前有遇到过身份证的最后一位是x,所以今天就写了这篇文章来研究一下最后一位是怎么产生的,嘿嘿。这里采用的是〖GB11643-1999〗中规定的是18位身份证号码:公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码(表示编码对象常住户口所在县(市、镇、区)的行政区划代码。1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码,行政区划代码的第5-6位数按行政区划的不同是有号段的,00代表全市、01代表所有市辖区,02-09代表市辖区(城区),11-19代表市辖区(郊区),21-29代表县、81-89代表县级市),八位数字出生日期码,三位数字顺序码(地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。其中第十七位奇数分给男性,偶数分给女性)和一位数字校验码。

身份证号码的计算方法即为ISO 7064:1983.MOD 11-2校验码计算法。

假设某一17位数字是:17位数字:1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8

加权因子:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

计算17位数字各位数字与对应的加权因子的乘积的和Sum=1*7+2*9+3*10+4*5+5*8+6*4+7*2+8*1+9*6+1*3+2*7+3*9+4*10+5*5+6*8 +7*4+8*2=416;计算Sum除11的余数T:416 mod 11=9。余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2(这就解释了为什么有的身份证号码最后一位是x了)。所以9对应的数字是3,故所以最后得到的身份证为123456789123456783,嘿嘿,就是这样了。

Excel判断身份证号校验码

Excel判断身份证号校验码 假设在一个工作表中:A列是姓名,B列是身份证号码,C列是备注。在B列中输入18位身份证号码后,在C2单元格中输入计算数组公式: =RIGHT(B2,1)=MID("10X98765432",MOD(SUM(MID(B2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1) 然后再将该公式复制给C列其他单元格。 公式的计算结果是一个逻辑值,True表示校验正确,即计算出来的校验码与输入的相同,而False则表示校验错误。值得注意的是,使用校验码进行校验判断为正确的身份证号码未必是正确的,但判断为错误的则肯定是错误的,即通过校验的只是身份证号码正确的必要条件而非充分条件。当然,在实际输入中,身份证号码输入错误而校验正确的情况很少见。在大多数情况下,使用校验码进行校验可以大大提高身份证号码输入的正确性。 RIGHT 根据所指定的字符数返回文本字符串中最后一个或多个字符。 MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。 MOD 返回两数相除的余数。SUM 返回某一单元格区域中所有数字之和。ROW 返回引用的行号。INDIRECT 返回由文本字符串指定的引用。 或者输入数组公式: =IF(LEN(B2)<>18,"错误 ",IF(MID("10X98765432",MOD(SUM(MID(B2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=MID(B2,18,1), "正确","错误"))

通过excel公共函数计算二代公民身份证号码末位校验码

通过excel公共函数计算二代公民身份证号码末位校验码/验证码(附公式可直接使用) 闲来无事,用EXCEL写了个公式(本文最后),可以根据身份证号码前17位计算第18位校验码的,经过验证,非常有效。 使用这个公式可以自己随意编造可以通过验证的身份证号码(感觉在为办证的做贡献。。。) 18位身份证号码的结构: 现在的二代身份证由18位数字组成 1、前6位是行政区规划代码,第一位是区位号(如西北、西南),第二位为省份编号,第三、四位是城市编号,第五、六位是县区编号,01-19代表市辖区,20以后代表郊县、县级市等辖区。 具体的行政区域规划码可以可以在国家统计局网站查询: https://www.sodocs.net/doc/de10378350.html,/tjbz/xzqhdm/t20021125_46781.htm 2、第7-14位是出生年月日,格式是yyyymmdd; 3、第15-17位是顺序码,即同一地区相同生日的人的顺序编码,随便写; 4、第18位是根据GB 11643-1999和IOS 7064计算出的校验码,计算方式比较复杂,文章中的公式就是用来计算这个校验码的! 下图是完整的身份证效验码计算方式: 但是因为上图中的公式太多,不方便直接使用,所以我把上图中所有的公式整合到了一个单元格中,就是下面的超级公式~! 现在,打开excel,先将A1单元格属性设置为文本,再把你准备好的1-17位身份证号码填入A1单元格,然后把公式拷到随便哪个单元格中,完整的身份证号码就计算出来了!还可以用下拉的方式同时计算多个号码,很省事吧!

公式如下: =IF((LEN(A1))=17,(A1&IF(VALUE(MOD((SUM((MID(A1,1,1))*7,(MID(A1,2,1)) *9,(MID(A1,3,1))*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,(MI D(A1,11,1))*7,(MID(A1,12,1))*9,(MID(A1,13,1))*10,(MID(A1,14,1))*5,(M ID(A1,15,1))*8,(MID(A1,16,1))*4,(MID(A1,17,1))*2)),11))=0,1,(IF(VALU E(MOD((SUM((MID(A1,1,1))*7,(MID(A1,2,1))*9,(MID(A1,3,1))*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,0,(IF(VALUE(MOD((SUM((MID(A1,1,1))*7,( MID(A1,2,1))*9,(MID(A1,3,1))*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))= 2,"X",12-VALUE(MOD((SUM((MID(A1,1,1))*7,(MID(A1,2,1))*9,(MID(A1,3,1) )*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)))))))),"输入长度不等于17位!")

关于身份证性别年龄查询公式(03版)

关于身份证号码的检测 1、身份证中有X的需大写。 2、检测身份证正误的公式 以身份证号在E列5行为例 =IF(OR(LEN(E5)=15,IF(LEN(E5)=18,MID("10X98765432",MOD(SUM(MID(E5,{1;2;3;4;5;6;7;8;9;10;11;1 2;13;14;15;16;17},1)*2^(18-{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17})),11)+1,1)=RIGHT(E5)) ),"身份证正确","身份证错误") 复制到最后一列,复制完成后必须用ctrl+shift+回车(也可直接回车),这是数组函数,必这样,然后一直往下拉就行了 3、查重复公式 以身份证号在E列5行为例,结果显示:1 证明没有重复。显示:2 证明身份证号有错误,检索一下就能发现。 =SUMPRODUCT(N(CLEAN($E$6:E$6000)=CLEAN(E6))) 4、这些仅用来检查身份证的,至于姓名正误和个人其他信息正误,一定要人工认真检查。 5 、15位或者18位身份证性别公式 =IF(MOD((IF(LEN(E6)=18,MID(E6,17,1),MID(E6,15,1))),2)=0,"女","男") 6、15位或者18位身份证年龄公式 =YEAR(TODAY())-(IF(LEN(E6)=18,MID(E6,7,4),"19"&MID(E6,7,2))) 7、15位或者18位身份证出生年月公式 =IF(LEN(H3)=18,MID(H3,7,4)&"-"&MID(H3,11,2),"19"&MID(H3,7,2)&"-"&MID(H3,9,2))

身份证号直接出生日公式

根据身份证出年龄,性别,生日 EXCEL中如何从身份证号码求出生年月日及年龄公式,性别信息方法? 注:今天帮助一位网友处理一些表格的问题,也使自己重新又温习了一下电子表格的相关内容,在解决这个问题的过程中,借鉴了一位网友的文章,感觉里面的信息非常全面,可能许多朋友都有可能遇到,特转载到自己的博客当中。也对这位网友表示感谢。 excel中如何根据身份证号,自动求出出生年月? 很好用!根据我的实际工作需要,又少作修改的方法:假如身份证号数据在A1单元格,在B1单元格中编辑公式 =IF(LEN(A1)=15,"19"&MID(A1,7,2)&MID(A1,9,2)&MID(A1,11,2),MID(A1,7,4)&MID(A1,11,2)&MID (A1,13,2))这样输出格式就都是19821010这种格式了。 excel中如何根据身份证号,自动求出性别? 假定身份证号在A1单元格,则在B1单元格中编辑公式 =IF(AND(LEN(A1)=15,MOD(MID(A1,15,1)*1,2)=1),"男", IF(AND(LEN(A1)=18,MOD(MID(A1,17,1)*1,2)=1),"男","女")) 在excel是根据身份证自动填充年龄? 假设A列从A1开始是身份证号,在B列中进行转换,则在B1中输入 =YEAR(TODAY())-IF(LEN(A1)=15,"19"&MID(A1,7,2),MID(A1,7,4)),然后再向下复制即可。公式解析:分析身份证号码 其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。 15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。 18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。 例如,某员工的身份证号码(15位)是320521*********,那么表示1972年8月7日出生,性别为女。如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率。二、提取个人信息 这里,我们需要使用IF、LEN、MOD、 MID、DATE等函数从身份证号码中提取个人信息。如图1所示,其中员工的身份证号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。 1. 提取出生年月信息 由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份证号码的相应部位即可,即显示为“7208”这样的信息。在D2单元格中输入公式“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中: LEN(C2)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。 MID(C2,7,4):从C2单元格中字符串的第7位开始提取四位数字,本例中表示提取15位身份证号码的第7、8、9、10位数字。 MID(C2,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取18位身份证号码的第9、10、11、12位数字。 IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的四位数字,如果不是15位则提取自第9位开始的四位数字。

Excel里通过身份证号码计算性别

在EXCEL中利用身份证号码计算性别 原理: 15位身份证,看最后一位,奇男偶女;18位的,看第17位数,也是奇男偶女。 公式内的“B2”代表的是输入身份证号码的单元格。 方法一: =IF(LEN(B2)=15,IF(MOD(MID(B2,15,1),2)=1,"男","女"),IF(MOD(MID(B2,17,1),2)=1,"男","女")) 公式含义: 如果B2单元格中式15位的身份证号,则显示IF(MOD(MID(B2,15,1),2)=1,"男","女")的计算结果,否则,显示IF(MOD(MID(B2,17,1),2)=1,"男","女")的计算结果。 方法二: 18位身份证号码中,第15~17位为顺序号,奇数为男,偶数为女。 将光标定位在“性别”单元格中,然后在单元格中输入函数公式:=IF(VALUE(MID(B2,15,3))/2=INT(VALUE(MID(B2,15,3))/2),"女","男") 公式含义: ①函数公式中,MID(D2,15,3)的含义是将身份证中的第15~17位提取出来。 ②VALUE(MID(D2,15,3))的含义是将提取出来的文本数字转换成能够计算的数值。 ③VALUE(MID(D2,15,3))/2=INT(VALUE(MID(D2,15,3))/2)的含义是判断奇偶。(“INT”是取整函数,如果是偶数,则前后相等;如果是奇数,则前后不相等。) ④=IF(VALUE(MID(D2,15,3))/2=INT(VALUE(MID(D2,15,3))/2),"女","男")的含义是若是“偶数”就填写“女”,若是“奇数”就填写“男”。

身份证号码变更证明

身份证号码变更证明 篇一:公民身份证号码变更证明 公民身份号码更正证明 当事人姓名:XXX 当事人住址:-------------------- 更正前公民身份号码 --------------- 更正后公民身份号码---------------- 更正原因:------ 申请人住址:------ 申请理由:---------- 申请人签名:----------- 联系电话:----------- 经办人:更正日期: -年-月-日 派出所会电脑打印出一份你的户籍证明,上面有你的详细户籍资料,同时派出所在上面再注明,此人原来的身份证号码是XXXXX,现在的身份证号码是XXXXX,这两个号码是属于同一个人,盖上派出所章子就行了。 公民身份证号码变更证明 本辖区公民_______(曾用名_______),住址: _________________。原使用的公民身份证号码为: 系______________________(原因)。根据《中华人民共和国居民身份证法》的有关规定及公民身份证号码的编制原则,为确保公民身份证号码的准确性和惟一性,自_______年_____月_____日起将原号码更改为:

特此证明。 (县级公安机关名称并盖户口专用章)年月日 注:请为申请人____________办理公民身份证号码变更的相关事宜。此件为原件,如需要请留存复印件。 发函单位联系电话: 篇二:公民身份证号码更改证明 公民身份证号码更改证明 本辖区公民_________(曾用名______) 住 址:_____________________________________________________。原使用公民身份证号码为: 系(重/错号)。根据中华人民共和国居民身份证法的有关规定及公民身份证号码的编制原则,为确保公民身份证号码的准确性和唯一性,自_______年____月____日起将原号码更正为:特此证明。 (县级公安机关名称并盖户口专用章) 年月日注:请为申请人_____________办理公民身份证号码变更的相关理宜,此件为原件,如需要请留存复印件。 篇三:身份证号变更证明 身份证号变更证明身份证号变更证明 公民身份证号码变更证明 本辖区居民:性别:民族

Excel表格中根据身份证号码自动填出生日期、计算年龄[1]

Excel表格中根据身份证号码自动填出生日期、计算年龄18位身份证号码转换成出生日期的函数公式:如果E2中是身份证,在F2 中求出出生日期,F2=DATE(MIDB(E2,7,4),MIDB(E2,11,2),MIDB(E2,13,2)) 自动录入男女:=IF(MOD((IF(LEN(e2)=18,MID(e2,17,1),MID(e2,15,1))),2)=0,"女","男") 15/18位都可以的公式:转换出生日期: =IF(LEN(e2)=18,TEXT(MID(e2,7,8),"#-00-00"),"19"&TEXT(MID(e2,7,6),"#-0 0-00")) 自动录入男女:=IF(E2="","",IF(MOD(RIGHT(LEFT(E2,17),1),2)=0,"女","男")) 计算年龄(新旧身份证号都可以): =IF(AND(E2=""),"",IF(MIDB(E2,7,2)="19",107-MIDB(E2,9,2),107-MIDB(E2,7 ,2))) WPS表格提取身份证详细信息 前些天领导要求统计所有员工的性别、出生日期、年龄等信息,并且要得很急。而我们单位员工人数众多,短时间内统计相关信息并且输入计算机几乎是不太可能的。幸好在以前的一份金山表格中我们曾经统计有所有员工的身份证号码,而身份证中正有我们所需要的性别、出生日期、年龄等信息的。所以,干脆,还是直接在金山表格中从身份证号码提取相关的信息吧。 身份证号放在A2单元格以下的区域。我们需要从身份证号码中提取性别、出生日期、年龄等相关信息。由于现在使用的身份证有15位和18位两种。所以,在提取相关信息时,首先应该判断身份证号码的数字个数,然后再区别不同情况进行相关处理。 一、身份证号的位数判断 在B2单元格输入如下公式“=LEN($A2)”,回车后即可得到A2单元格身份证号码的数字位数,如图1所示。LEN($A2)公式的含义是求出A2单元格字符串中字符的个数。由于当初身份证输入时就是以文本形式输入的,所以用此函数正可以很方便地求到身份证号码的位数。

身份证号码第十八位效验码的计算方法

身份证号码第十八位效验码的计算方法- godson_h的专栏- CSDN 博客 默认分类2010-04-10 07:56:04 阅读141 评论0 字号:大中小订阅 身份证号码第十八位效验码的计算方法 关于身份证第18是怎么计算的,原理如下:根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 地址码(身份证前六位)表示编码对象常住户口所在县(市、旗、区)的行政区划代码。(所有区域的编码可以到这个网站https://www.sodocs.net/doc/de10378350.html,/tjbz/index.htm 查询到最新的县及县以上的行政编码资料。) 生日期码(身份证第七位到第十四位)表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如:1981年05月11日就用19810511表示。 顺序码(身份证第十五位到十七位)为同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。其中第十七位奇数分给男性,偶数分给女性。 校验码(身份证最后一位)是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。 第十八位数字的计算方法为: 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。 5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。 例如:某男性的身份证号码是340524************。我们要看看这个身份证是不是合法的身份证。 首先:我们得出,前17位的乘积和是189 然后:用189除以11得出的结果是17 + 2/11,也就是说余数是2。 最后:通过对应规则就可以知道余数2对应的数字是x。所以,这是一个合格的身份证号码。

第二代身份证号码提取出生年月日的公式

1、第二代身份证号码提取出生年月日的公式: =MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2) 注:A是列,1是行,&在数字键7的上方。 2、第二代身份证号码提取性别男、女的公式: =IF(MOD(MID(A1,17,1),2),"男","女") 注:A是列,1是行。 3、excel用身份证号算年龄的工式 比如身份证号保存在a1单元格,那么可以使用=mid(a1,7,4)来取出出生年,再用当前年份减去这个就是年龄了。 4、提取身份证出生年月 ="19"&MID(B1,9,2)&"年"&MID(B1,11,2)&"月"&MID(B1,13,2)&"日" 5、提取身份证年龄 =YEAR(NOW())-YEAR(IF(LEN(B1)=18,DATE(MID(B1,7,4),MID(B1,11,2),M ID(B1,13,2)),DATE(MID(B1,7,2),MID(B1,9,2),MID(B1,11,2)))) 6、提取身份证性别 =IF(LEN(B1)=15,IF(MOD(MID(B1,15,1),2)=1,"男","女"),IF(MOD(MID(B1,17,1),2)=1,"男","女")) 7、公式内的“B1”代表的是输入身份证号码的单元格。 Excel自动提取身份证中生日和性别以及年龄 (注意:以B2单元格中是18位身份证号为例) 一、提取出生日期的输入公式 =MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日" 二、判断性别“男女”的输入公式

=IF(MID(B2,17,1)/2=TRUNC(MID(B2,17,1)/2),"女","男") 三、利用身份证号码求年龄 =IF(B2="","",DATEDIF(TEXT((LEN(B2)=15)*19&MID(B2,7,6+(LEN (B2)=18)*2),"#-00-00"),TODAY(),"y")) 八、计算年龄的公式? datedif(开始日期,结束日期,"M") 九、用公式计算最大年龄? max(D3:D21) 十、用公式计算25--35岁之间的人数? =COUNTIFS(D3:D21,">"&25,D3:D21,"<"&35) 十一、计算25岁以下的人数? =COUNTIF(D3:D21,">"&25) 十二、计算25岁以下人数的比例? =COUNTIF(D3:D21,">"&25)/count(D3:D21) 十三、用excel做表输入年月日,可以变成例如1986-01-01的格式吗?能的话怎么变? 先选中单元格,鼠标右击,“设置单元格格式”,“数字”,“自定义”,在类型处输入 e-mm-dd 确定 十四、1.自动录入性别: “=IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))” if假如(len(C2)得到C2的字符长度等于15,[15时mod除以2的余数(取mid(C2单元格,第15个的,1个字符),除以2)],[不等于15条

身份证校验码的解释

身份证校验码的解释 新居民身份证的号码是按照国家的标准编制的,由18位组成:前六位为行政区划代码,第七至第十四位为出生日期码,第15至17位为顺序码,第18位为校验码。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位,而19位的号码违反了国家标准,并且我国的计算机应用系统也不承认19位的身份证号码。Ⅹ是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。 身份证中第十八位数字的计算方法为: 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。 5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。 例如:某男性的身份证号码是340524************。我们要看看这个身份证是不是合法的身份证。 首先:我们得出,前17位的乘积和是189 然后:用189除以11得出的结果是17 + 2/11,也就是说余数是2。 最后:通过对应规则就可以知道余数2对应的数字是x。所以,这是一个合格的身份证号码。

这里面说的很清楚了,最后一位是用来辨别身份证真假的一种办法。而不是同年同月同日生的人的识别码。 贴个JA V A实现的校验算法 public static char doV erify(String id); { char pszSrc[]=id.toCharArray();; int iS = 0; int iW[]={7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; char szVerCode[] = new char[]{'1','0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'}; int i; for(i=0;i<17;i++); { iS += (int);(pszSrc-'0'); * iW; } int iY = iS%11; return szVerCode[iY]; } =IF(LEN(A101)=15,REPLACE(A101,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLAC E(A101,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A101 excel计算最后一位的公式,也就是个校验码而已

18位身份证号编制规则

18位身份证号编制规则 一、身份证号码执行标准:18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》。 GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。 二、编码规则:公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码,可以用字母表示如为ABCDEFYYYYMMDDXXXR。其含义如下: 1. 地址码(ABCDEF):表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T22 60的规定执行。 2. 出生日期码(YYYYMMDD):表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4位、2位(不足两位加0)、2(同上)位数字表示,之间不用分隔符。 3. 顺序码(XXX):表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。 4.校验码(R),一位数字,通过前17位数字根据一定计算得出。 三、关于地址码含义的详细解释: 身份证前六位是地区代码,我们用ABCDEF表示。代码的解释规则如下: A:国内区域 1 华北三省二市 2 东北三省 3 华东六省一市

4 华南六省 5 西南四省一市 6 西北五省 7 台湾 8 港澳 B(或者说是AB,就是前2位):省(直辖市,自治区,特别行政区)代码 按照A划定的分区定义省代码,有直辖市的,直辖市列前,其余按离直辖市的距离排序,没有直辖市的,按离北京的远近排序。 具体省(直辖市,自治区,特别行政区)代码如下: 11-15 京津冀晋蒙 21-23 辽吉黑 31-37 沪苏浙皖闽赣鲁 41-46 豫鄂湘粤桂琼 50-54 渝川贵云藏 61-65 陕甘青宁新 81-82 港澳 CD:城市代码 从01开始排,对于直辖市,CD=01表示市辖区,CD=02表示辖县;省的城市代码从省会开始排,比如2101=沈阳2102=大连…… 只有地级城市有独立的城市代码,县级市没有。 EF:市辖区、郊区、郊县、县级市代码

上海身份证号码大全

上海身份证号码大全 上海身份证号码按辖区划分 ①上海中心城区 注释:上海九大中心城区的身份证排列是以黄浦区为原点,顺时针旋转一圈来划分的。 ②上海郊区 ③上海郊县 身份证补注: 310102 上海市黄浦区(原南市区) 310111 上海市宝山区(原吴淞区)

310119 上海市南汇区(并入浦东新区) 310220 (原上海市) 310221 上海市闵行区(原上海县) 310222 上海市嘉定区(原嘉定县) 310223 上海市宝山区(原宝山县) 310224 上海市浦东新区(原川沙县) 310225 上海市南汇区(原南汇县) 310226 上海市奉贤区(原奉贤县) 310227 上海市松江区(原松江县) 310228 上海市金山区(原金山县) 310229 上海市青浦区(原青浦县) 以上补充号码尚有,究其原因是由于上海多次经济规划和行政规划(如并区和撤区,区域资源整合等),从而造成了上海各区居民身份证号码现在不连续的现象。等过些年崇明县变区后,又会出现新的身份证开头号码。 现各区身份证号码不连续的历史原因 历史发展 鸦片战争后上海开埠,外国的船只从外洋直溯而上,1845年英国殖民者首先在上海县境域划定英租界;1849年,法国殖民者也要求划定法租界;1863年,美租界与英租界合并成立公共租界。至此,上海市区划分为不同的管辖区,租界以南的华界被称为南市,同时,苏州河以北老闸(宋代建)和新闸(清代建)一带因大量贫苦农民的流入,逐渐兴起,形成北市。1910年清政府颁发《城乡自治章程》,上海县合城南境、老闸、新闸、江境庙区域为上海城;另设蒲松镇、东泾镇及12乡。1914年,上海改城为市,蒲松镇也改为蒲松市,另设闸北市、洋泾市,合称19市乡。1926年孙传芳督江苏省,成立淞沪商埠,分全境为上海、闸北、浦东、沪西以及吴淞5区。

身份证最后一位号码

身份证最后一位号码,居然代表你的爱情! 每个人的身份证都是唯一的,那么它所代表的爱情又会怎样呢?身份证最后一位号码,代表一种水果,不同的水果又代表不同的爱情。大家都来选选吧,看看你的爱情会是什么样的。嘿嘿,有意思吧? 1:杨梅---细腻杨梅本就是一颗一颗,仔细看的话,每颗上面都有成百上千更小的颗粒,像极了心思细腻的双鱼;而且杨梅酸甜交织的味道,很像时而快乐,时而伤心的心情。 2:椰子---波动你喜欢与人为伴,同时亦是一个很好的伙伴,但却不会与人深交。对爱情亦一样,你容易投入一段恋情,但感情却快来快去,热情降温时就会放弃。 3:葡萄---助人你有慷慨、幽默的个性,晓得令朋友高兴的法门,又喜欢帮他人想办法解决疑难,朋友与你相处都感到舒服愉快,不过你却不易宽恕别人的错。 4:西瓜---独立在群体中你害羞而内敛,但独立处事时俨如另一个人,自信、进取而且热切渴望表现自己,加上聪明又富想像力,叫人对你另眼相看。 5:菠萝---诚恳你为人谦虚而真诚,但对人却不会太热情,喜欢平静淡然。宁静的环境能让你发挥无穷想像力,但你甚少用於工作上,只会为自己和朋友的生活添加趣味。 6:芒果---敏感你拥有细腻的触觉,艺术天分颇高,对於周围的人及事物的一举一动都很敏感,容易因为环境变化而影响心情,但却不会改变你对人善良的态度。 7:火龙果---自强你不相信命运,认为凭努力可达到一切目标,不容许自己懒惰散漫,给自己很大压力。你愿意为朋友付出,对爱情忠诚但却有很强的妒忌心。 8:水蜜桃---专一你对甚麼都愿意付出全部心力,对追求目标从不怕辛苦。对爱情更是一心一意,但是很怕寂寞,需要对方付出大量的时间和关心,叫人喘不过气。 9:哈密瓜---忠诚你对於对与错的问题有很强烈的判断,认为是不合理的定不会做,所以换来诚实可靠的形象,加上你作风低调,深得别人信赖。 10:香蕉---热情你平日做事喜欢即兴而为,无论玩乐或做正经事都要尽,爱情路上你也去到尽,热情无限,同时希望对方也一样全数奉献,支配欲和妒忌心也很重。 X:草莓---活泼淡淡的甜,平淡的生活也无法掩盖你的活脱。易坏的草莓,也显示出你的脆弱一面。 Y:荔枝---乐观你能设身处地去感受他人的想法,并会在感性与实际情况中作出冷静准确的判断,能理解别人又不会受人影响。爱情上你是个忍耐而要求不多的伴侣。

Excel中如何正确显示身份证号

Excel中如何正确显示身份证号 对于超过12位的数字(包括12位),Excel会自动以科学记数法显示,看起来不舒服。当我们要把带有身份证号的Word 表格复制到Excel中去,就会遇到这种情况。那么,应该怎样保持身份证号的原貌呢? 一、正确的复制步骤 1.启动Excel,根据Word表格的行列数选择要要复制到的区域(如果对数据格式无要求,也可以全选整个工作表)。 2.在选择区域上单击右键,选择“设置单元格格式”命令。 3.在“设置单元格格式”对话框的“数字”选项卡中选择“文本”,如图1,最后单击“确定”按钮。 4.选择Word文档中的表格,执行复制操作。 5.切换到Excel,保持设置区域的选中状态(或单击选中此区域左上角的第一个单元格),然后可选用下面的两种方法之一。 (1)执行“编辑”→“选择性粘贴”,在对话框中选择“文本”,最后单击“确定”按钮。 (2)也可以执行粘贴,然后单击粘贴对象右下角出现的“粘、贴选项”,选择“匹配目标格式”项。

如此操作可以保证身份证号以文本的形式出现。二、15位身份证号的恢复 在Excel中,输入12-15位数字时,虽然会以科学记数的形式出现,但其数值大小是不变的。当今的身份证号码有15位和18位之分。如果15位身份证号以科学记数的形式出现,可以通过设置显示出身份证号的“本相”。 可在“单元格格式”对话框的“数字”选项卡中进行设置。 方法一:选择“分类”中的“数值”,将小数位数由默认的“2”位改为“0”位,单击“确定”按钮。如果本来即是“0”位,直接单击“确定”按钮即可。 方法二:选择“分类”中的“分数”,再选择任意一种分数类型,单击“确定”按钮。 方法三:选择“分类”中的“文本”,单击“确定”按钮,再双击单元格才能转变。 方法四:选择“分类”中的“特殊”,再选择“类型”中的“邮政编码”,单击“确定”按钮。 方法五:选择“分类”中的“自定义”,然后设为“000000000000000”(或用“?”、“#”代替“0”),单击“确定”按钮。 在Excel中不经设置直接输入或粘贴超过15的数字,系统会自动将超出的数值用“0”替换,例如,直接录入18位

一个18位身份证校验计算函数.docx

-个18位身份证校验计算函数 因需要对15位旧身份证号码进行升位和校验、查询处理,又没有搜索到现成的函数,于是自己写了一个简单的过程,希望能够帮得上需要的朋友。 本函数的功能单一,只能校验第18位号码是否正确或者取得第18位号码,其他功能留给人家自C扩展吧! <% ' Version: 1. 0. 1 'Author: sfply(sfply@163. com) 'Last Modified: 2004/7/17 12:03 'Src是身份证号码,可以是15位也可以是18位,15位时只能返回验证码方式使用 'iChk参数取值真假,真代表校验Six是否18位身份证,并且校验第18位是否 正确号码而确定是否有效身份证,返冋只值为true或false ' 假代表返回止确的校验码,返回值为(l~x) dim myldentify myTdentify 二〃36050219781218133?〃 response .write chkldentiyCard(myldentify, false) Function chkldentiyCard(Src,iChk)

dim myWi, myAi, mySrc(17), i, myCount myAi =,z 10X98765432' myWi = split(z/7, 9, 10, 5, & 4, 2, 1, 6, 3, 7, 9, 10, 5, & 4, 2〃,〃,〃) if iChk then if len (Src) = 18 then for i = 0 to 16 mySrc(i)二mid(Src, i + 1, 1) myCouni 二myCount + mySrc(i) * myWi(i) next if mid(myAi, (mycount mod 11)+1,1) = right (Src,1) then chkldcntiyCard = true '返回结果,TRUE为合法身份证验证码 el se chkldentiyCard = false '返回结果,FALSE为非法身份证验证码 end if else chkldentiyCard = false '因为不是18位身份证所以返[H] FALSE end if el se if len(Src)二15 or len(Src)二18 then if len(Src) = 15 then Src = mid(Src, 1, 6) & "19〃 & mid(Src, 7, 9) for i = 0 to 16 mySrc(i)二mid(Src, i + 1, 1) myCount 二myCount + mySrc(i) * myWi (i) n ext chkldentiyCard = mid (myAi, (mycount mod 11)+1, 1)'返回正确的验证码else chkldentiyCard二false '输入不不是15位或18位身份证号 end if end if Encl Function

分析身份证号码

一、分析身份证号码 其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。 15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。 18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。 例如,某员工的身份证号码(15位)是320521*********,那么表示1972年8月7日出生,性别为女。如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率。 二、提取个人信息 这里,我们需要使用IF、LEN、MOD、 MID、DATE等函数从身份证号码中提取个人信息。如图1所示,其中员工的身份证号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。 1. 提取出生年月信息 由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份证号码的相应部位即可,即显示为“7208”这样的信息。在D2单元格中输入公式 “=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中: LEN(C2)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。 MID(C2,7,4):从C2单元格中字符串的第7位开始提取四位数字,本例中表示提取15位身份证号码的第7、8、9、10位数字。 MID(C2,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取18位身份证号码的第9、10、11、12位数字。 IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的四位数字,如果不是15位则提取自第9位开始的四位数字。 如果需要显示为“70年12月”这样的格式,请使用DATE格式,并在“单元格格式→日期”中进行

身份证编码规则

中国公民身份证编号规则 一、身份证号码执行标准:18位身份证标准在国家质量技术监督局于1999年7月1日实施 的GB11643-1999《公民身份号码》。 GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643-1999《公民身份号 码》从实施之日起代替GB11643-1989。 二、编码规则:公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码,可以用字母表示如为ABCDEFYYYYMMDDXXXR。其含义如下: 1. 地址码(ABCDEF):表示编码对象常住户口所在县(市、旗、区)的行政区划代码, 按GB/T2260的规定执行。 2. 出生日期码(YYYYMMDD):表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4位、2位(不足两位加0)、2位(同上)数字表示,之间不用分 隔符。 3. 顺序码(XXX):表示在同一地址码所标识的区域范围内,对同年、同月、同日出生 的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。 4.校验码(R),一位数字,通过前17位数字根据一定计算得出。 第17位数字是表示在前16位数字完全相同时,某个公民的顺序号,并且单数用于男性,双数用于女性。如果前16位数字均相同的同性别的公民超过5人,则可以“进位”到第16位。比如:有6位女性公民前16位数字均相同,并假设第16位数是7,则这些女性公民的末两位编号分别为72,74,76,78,80,82。另外,还特殊规定,最后三位数为996,997,998,999这4个号码为百岁老人的代码,这4个号码将不再分配给任何派出所。

身份证最后一位号码,居然代表你的婚姻

身份证最后一位号码代表的水果: 1:杨梅,2:椰子,3:葡萄,4:西瓜,5:菠萝,6:芒果,7:火龙果,8:水蜜桃,9:哈密瓜,0:香蕉,X:草莓,Y:荔枝 1:杨梅---细腻 杨梅本就是一颗一颗,仔细看的话,每颗上面都有成百上千更小的颗粒,像极了心思细腻的双鱼;而且杨梅酸甜交织的味道,很像时而快乐,时而伤心的心情。 2:椰子---波动 你喜欢与人为伴,同时亦是一个很好的伙伴,但却不会与人深交。对爱情亦一样,你容易投入一段恋情,但感情却快来快去,热情降温时就会放弃。 3:葡萄---助人 你有慷慨、幽默的个性,晓得令朋友高兴的法门,又喜欢帮他人想办法解决疑难,朋友与你相处都感到舒服愉快,不过你却不易宽恕别人的错。 4:西瓜---独立 在群体中你害羞而内敛,但独立处事时俨如另一个人,自信、进取而且热切渴望表现自己,加上聪明又富想像力,叫人对你另眼相看。 5:菠萝---诚恳 你为人谦虚而真诚,但对人却不会太热情,喜欢平静淡然。宁静的环境能让你发挥无穷想像力,但你甚少用於工作上,只会为自己和朋友的生活添加趣味。 6:芒果---敏感 你拥有细腻的触觉,艺术天分颇高,对於周围的人及事物的一举一动都很敏感,容易因为环境变化而影响心情,但却不会改变你对人善良的态度。 7:火龙果---自强 你不相信命运,认为凭努力可达到一切目标,不容许自己懒惰散漫,给自己很大压力。你愿

意为朋友付出,对爱情忠诚但却有很强的妒忌心。 8:水蜜桃---专一 你对甚麼都愿意付出全部心力,对追求目标从不怕辛苦。对爱情更是一心一意,但是很怕寂寞,需要对方付出大量的时间和关心,叫人喘不过气。 9:哈密瓜---忠诚 你对於对与错的问题有很强烈的判断,认为是不合理的定不会做,所以换来诚实可靠的形象,加上你作风低调,深得别人信赖。 0:香蕉---热情 你平日做事喜欢即兴而为,无论玩乐或做正经事都要尽兴,爱情路上你也去到尽兴,热情无限,同时希望对方也一样全数奉献,支配欲和妒忌心也很重。 X:草莓---活泼 淡淡的甜,平淡的生活也无法掩盖你的活脱。易坏的草莓,也显示出你的脆弱一面。 Y:荔枝---乐观 你能设身处地去感受他人的想法,并会在感性与实际情况中作出冷静准确的判断,能理解别人又不会受人影响。爱情上你是个忍耐而要求不多的伴侣。

相关主题