首页
Loading
您所在的位置:首页 > 学科知识 > 信息能力提升 > 正文

身份证号码编码规则及校验位校验算法

作者: 来源: 日期:2022/12/5 20:34:43 人气:101 加入收藏 评论:0 标签:

身份证号码编码规则及校验位校验算法

       (身份证号码前六位)表示编码对象常住户口所在县(市、镇、区)的行政区划代码。1-2位省、自治区、直辖市代码; 3-4位地级市、盟、自治州代码; 5-6位县、县级市、区代码。

   (身份证号码第七位到第十四位)表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符

     (身份证号码第十五位到十七位)地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。其中第十七位奇数分给男性,偶数分给女性。

    (身份证号码最后一位)是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,X是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。

       最后一位校验码的计算方法首先将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2接下来将这17位数字和系数相乘的结果相加然后用加出来和除以11,看余数,余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。通过上述方法可以计算一个人的身份证号是否合法。

用EXCEL公式实现如下:

G3单元格中为身份证号码,

H3单元格输入以下数组公式,按<Ctrl+Shift+Enter>组合键结束输入,并向下填充。

=IF(LEN(G3)=0,"空",IF(LEN(G3)=15,"旧号",IF(LEN(G3)<>18,"位数不对",IF(CHOOSE(MOD(MID(G3,1,1)*7+MID(G3,2,1)*9+MID(G3,3,1)*10+MID(G3,4,1)*5+MID(G3,5,1)*8+MID(G3,6,1)*4+MID(G3,7,1)*2+MID(G3,8,1)*1+MID(G3,9,1)*6+MID(G3,10,1)*3+MID(G3,11,1)*7+MID(G3,12,1)*9+MID(G3,13,1)*10+MID(G3,14,1)*5+MID(G3,15,1)*8+MID(G3,16,1)*4+MID(G3,17,1)*2,11)+1,1,0,"X",9,8,7,6,5,4,3,2)=IF(ISNUMBER(RIGHT(G3,1)*1),RIGHT(G3,1)*1,"X"),"正确","错误"))))



身份证号码校验算法.xls


    本文网址:http://www.gzxxjs.cn/show.asp?id=3496
    读完这篇文章后,您心情如何?
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    更多>>网友评论
    发表评论
    编辑推荐
    • 没有资料