身份证号码举例
- 格式:doc
- 大小:499.50 KB
- 文档页数:9
身份证地址码对照表公民身份号码是由17位数字码和1位校验码组成。
排列顺序从左至右分别为:6位地址码,8位出生日期码,3位顺序码和1位校验码。
地址码(身份证地址码对照表见下面附录)和出生日期码很好理解,顺序码表示在同一地址码所标识的区域范围内,对同年同月同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
身份证最后一位校验码算法如下:1. 将身份证号码前17位数分别乘以不同的系数,从第1位到第17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 22. 将得到的17个乘积相加。
3. 将相加后的和除以11并得到余数。
4. 余数可能为0 1 2 3 4 5 6 7 8 9 10这些个数字,其对应的身份证最后一位校验码为1 0 X 9 8 7 6 5 4 3 2。
身份证号码解密|身份证尾数校验码算法|ID card information18位身份证号码各位的含义:1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-14位出生年月日,比如19670401代表1967年4月1日;15-17位为顺序号,其中17位(倒数第二位)男为单数,女为双数;18位为校验码,0-9和X。
作为尾号的校验码,是由把前十七位数字带入统一的公式计算出来的,计算的结果是0-10,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。
X是罗马数字的10,用X来代替10。
举例:130503 19670401 0012这个身份证号的含义: 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为校验码。
其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
身份证号码各个数字代表的意义
18位身份证号码各位的含义: 1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-14位出生年月日,比如代表1967年4月1日;15-17位为顺序号,其中17位男为单数,女为双数;18位为校验码,0-9和X。
作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。
X是罗马数字的10,用X来代替10 举例:130503 0012这个身份证号的含义: 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为校验码。
15位身份证号码各位的含义: 1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;13-15位为顺序号,其中15位男为单数,女为双数;与18位身份证号的第二个区别:没有最后一位的校验码。
举例:130503 670401 001的含义; 13为河北,05为邢台,03为桥西区,出生
1。
北京110 河北省130 山西省140 内蒙古自治区150 辽宁210 吉林220 黑龙江230 上海市310 江苏320 浙江330 安徽340 福建350 江西360 山东370 河南410 湖北420 湖南430 广东440 广西450 海南46 重庆市500 四川510 贵州520 云南530 西藏540 陕西610 甘肃620 青海630 宁夏640 新疆650身份证号码辨别所在省份-转自163微博身份证号码辨别所在省份一、身份证号码执行标准: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位数字根据一定计算得出。
三、关于地址码含义的详细解释:身份证前六位是地区代码,我们用ABCDEF表示。
代码的解释规则如下:A:国内区域1 华北三省二市2 东北三省3 华东六省一市4 华南六省5 西南四省一市6 西北五省7 台湾8 港澳B(或者说是AB,就是前2位):省(直辖市,自治区,特别行政区)代码按照A划定的分区定义省代码,有直辖市的,直辖市列前,其余按离直辖市的距离排序,没有直辖市的,按离北京的远近排序。
公安部关于居民身份证编号的规定文章属性•【制定机关】公安部•【公布日期】1985.09.06•【文号】•【施行日期】1985.09.06•【效力等级】部门规范性文件•【时效性】现行有效•【主题分类】户籍、身份证管理正文公安部关于居民身份证编号的规定(1985年9月6日)居民身份证编号是全国统一编定的,每个持证公民的唯一编号。
居民身份证编号,对于应用现代化技术进行人口管理的人口统计,对于加强公安现代化建设有重要作用。
因此,作好居民身份证编号工作,是证件签发工作的一个重要环节,必须认真细致地组织实施。
为保证编号的准确性,作如下规定:一、为使居民身份证编号不重、不漏、不错,编号采用行政区划代码、出生日期码、分配顺序码三结合的方法,由十五位阿拉伯数码组成。
十五位数码(从左至右)的含义是:第一至第六位码为行政区划代码;第七至第十二位码为出生日期码;第十三至第十五位码为分配顺序码。
十五位数码的使用方法是:(1)行政区划代码。
是用六位数字代码按层次分别表示我国省(自治区、直辖市)、地区(市、州、盟),县(市、旗、镇、区)的名称。
六位数从左至右,第一、二位表示省(自治区、直辖市);第三、四位表示地区(市、州、盟);第五、六位表示县(市、旗、镇、区)。
如山西省平遥县的行政区划代码为“142431”;北京市东城区的行政区划代码为“110101”。
居民身份证编号中的行政区划代码是指公民第一次申领证件时,常住户口所在地的县(市、旗、镇、区)一级的行政区划代码。
编号工作一律使用国家标准局批准的,1985-01-01实施的GB2260-84号《中华人民共和国行政区划代码》。
根据该文件规定,行政区划变更后,原代码不再代表新的行政单位。
为使居民身份证编号工作顺利进行,行政区划有变动的,使用国家标准局批准的新的行政区划代码,在新的代码没有批准前,经省、自治区、直辖市公安厅、局同意,可暂时沿用原行政区划代码。
没有县(市、旗、镇、区)一级行政区划代码的(如水上公安分局),可使用地区(市、州、盟)一级行政区划代码;如地区(市、州盟)一级也没有行政区划代码的,可使用省(自治区、直辖市)级的行政区划代码。
一、中华人民共和国行政区划编码规则代码从左至右的含义是:第一、二位表示省(自治区、直辖市、特别行政区)。
第三、四位表示市(地区、自治州、盟及国家直辖市所属市辖区和县的汇总码)。
其中,01-20,51-70表示省直辖市;21-50表示地区(自治州、盟);90表示省直辖县级行政区划。
第五、六位表示县(市辖区、县级市、旗)。
01-20表示市辖区或地区(自治州、盟、省)辖县级市;21-80表示县(旗);81-99表示市辖县级市。
除港澳台外,共有六个行政区 1-华北地区(5):北京市[11]、天津市[12]、河北省[13]、山西省[14]、内蒙古自治区[15] 2-东北地区(3):辽宁省[21]、吉林省[22]、黑龙江省[23] 3-华东地区(7):上海市[31]、江苏省[32]、浙江省[33]、安徽省[34]、福建省[35]、江西省[36]、山东省[37] 4-中南地区(6):河南省[41]、湖北省[42]、湖南省[43]、广东省[44]、广西壮族自治区[45]、海南省[46] 5-西南地区(5):重庆市[50]、四川省[51]、贵州省[52]、云南省[53]、西藏自治区(54) 6-西北地区(5):陕西省[61]、甘肃省[62]、青海省[63]、宁夏回族自治区[64]、新疆维吾尔自治区[65] 综上撰述:直辖市[4]、自治区[5]、省[22] 共31个。
注:[]内数字为直辖市、自治区、省的代码二、18位公民身份证编码规则18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确规定。
GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643- 1999《公民身份号码》从实施之日起代替GB11643-1989。
公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。
认识我国的公民身份证我国的公民身份证,也称为居民身份证。
居民身份证是每个公民的信息,它的用途广,作用大。
但许多居民,特别在农村有一部分人缺乏保护个人信息的意识,常借自己的身份证给他人贷款或购物、买票等,许多人还不知道身份证是用来干什么的,因此,有必要来认识居民身份证。
下面我们一起来了解居民身份证号码各个数字代表的意义。
新中国成立后,我国一共办理了两代居民身份证,第一代居民身份证由15位数字组成,于2013年1月1日停止使用;现在使用的是第二代居民身份证,通常称为新身份证,由18位数字组成。
18位身份证号码各位的含义: 1-2位是省、自治区、直辖市代码;3-4位是地级市、盟、自治州代码;5-6位是县、县级市、区代码;7-14位表示出生年月日,比如20200101代表2020年1月1日;15-17位为顺序号,其中17位男为奇数(单数),女为偶数(双数);18位为校验码,0-9和X。
作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。
X是罗马数字的10,用X来代替10 。
如:522129************这个身份证号的含义: 52为贵州,21为遵义,29为余庆县,出生日期为2020年1月1日,顺序号为001,2为校验码。
15位身份证号码各位的含义: 1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-12位出生年月日,比如200101代表2020年1月1日,这是和18位号码的第一个区别;13-15位为顺序号,其中15位男为奇数(单数),女为偶数(双数);与18位身份证号的第二个区别:没有最后一位的校验码。
举例:522129*********的含义; 52为贵州,21为遵义,29为余庆县,出生日期为2020年1月1日。
大家弄清了身份证的用途后,一定要保密,不要乱借身份证给别人使用。
2024年利用身份证的地区代码提取籍贯信息一、地区代码的含义和结构身份证号码中的地区代码通常由前6位数字组成,代表了申请人的籍贯信息。
根据国家标准GB/T 2260-2007《中华人民共和国行政区划代码》,地区代码的前两位表示省、自治区、直辖市的行政区划代码;第三、四位表示地级行政单位的行政区划代码;第五、六位表示县级行政单位的行政区划代码。
通过地区代码,我们可以快速获取到申请人所在地区的基本信息。
二、通过地区代码提取籍贯信息的方法1. 解读地区代码地区代码是一个数字编码体系,不同的编码表示不同的地区。
如果对地区代码的含义不熟悉,可以借助相关资料进行查询解读。
例如,通过查询国家标准GB/T 2260-2007,可以对不同地区代码对应的行政区划有一个初步的了解。
2. 利用地区代码查询相关数据地区代码与行政区划信息的关系可以通过相关数据查询工具进行查询。
例如,国家统计局提供了一个在线查询平台,可以根据地区代码查询具体的行政区划信息。
利用这个工具,我们可以根据地区代码快速获取相应的省、自治区、直辖市、地级行政单位和县级行政单位等信息。
3. 数据挖掘和分析通过对大量的地区代码和籍贯信息的对应关系进行数据挖掘和分析,可以建立起一个地区代码与籍贯信息的映射模型。
这种模型可以在利用地区代码提取籍贯信息时提供更精确和准确的结果。
三、地区代码提取籍贯信息的应用举例1. 用于人口统计分析地区代码提取的籍贯信息可以用于人口统计分析。
例如,通过对不同地区的人口数量、人口密度、城乡分布等信息进行统计分析,可以揭示不同地区人口发展情况的差异和趋势。
2. 用于社会调查和市场研究地区代码提取的籍贯信息可以用于社会调查和市场研究。
例如,通过对不同地区消费习惯、购物偏好、文化兴趣等信息进行调查和研究,可以为企业和政府部门提供有针对性的决策和服务。
3. 用于教育规划和资源配置地区代码提取的籍贯信息可以用于教育规划和资源配置。
例如,通过对不同地区教育发展水平、教育资源配置、学生数量和学生流动情况等信息进行分析,可以为教育部门提供科学的教育规划和资源配置建议。
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。
顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。
顺序码的奇数分给男性,偶数分给女性。
校验码是根据前面十七位数字码,按照ISO7064:1983.MOD11-2校验码计算出来的检验码。
下面举例说明该计算方法。
某男性公民身份号码本体码为34052419800101001,首先按照公式⑴计算:∑(ai×Wi)(mod 11) (1)公式(1)中:i----表示号码字符从由至左包括校验码在内的位置序号;ai----表示第i位置上的号码字符值;Wi----示第i位置上的加权因子,其数值依据公式Wi=2(n-1)(mod11)计算得出。
(2的n-1次方;n初始值是1)ia iw iai×Wi 21 36 0 25 16 16 2 9 48 0 0 9 0 5 0 0 2 a1根据公式(1)进行计算:∑(ai×Wi) =(21+36+0+25+16+16+2+9+48++0+0+9+0+5+0+0+2) = 189189 ÷ 11 = 17 + 2/11∑(ai×Wi)(mod 11) = 2然后根据计算的结果,从下面的表中查出相应的校验码,其中X表示计算结果为10:校验位余数∑(ai×WI)(mod 11) 0 1 2 3 4 5 6 7 8 9 10校验码字符值ai 1 0 X 9 8 7 6 5 4 3 2根据上表,查出计算结果为2的校验码为所以该人员的公民身份号码应该为 340524************。
18171615141312111098765432134052419800101001a7910584216379105842101234567891010X9876543200101001X。
身份证号码各个数字代表的意义
18位身份证号码各位的含义: 1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-14位出生年月日,比如19670401代表1967年4月1日;15-17位为顺序号,其中17位男为单数,女为双数;18位为校验码,0-9和X。
作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。
X是罗马数字的10,用X来代替10 举例:130503 19670401 0012这个身份证号的含义: 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为校验码。
15位身份证号码各位的含义: 1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;13-15位为顺序号,其中15位男为单数,女为双数;与18位身份证号的第二个区别:没有最后一位的校验码。
举例:130503 670401 001
的含义; 13为河北,05为邢台,03为桥西区,出生。
计算身份证长度的公式
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。
顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。
顺序码的奇数分给男性,偶数分给女性。
校验码是根据前面十七位数字码,按照ISO7064:1983.MOD11-2校验码计算出来的检验码。
下面举例说明该计算方法。
某男性公民身份号码本体码为34052419800101001,首先按照公式⑴计算:∑(ai×Wi)(mod11) (1)
公式(1)中:
i----表示号码字符从由至左包括校验码在内的位置序号;
ai----表示第i位置上的号码字符值;Wi----示第i位置上的加权因子,其数值依据公式Wi=2(n-1)(mod11)计算得出。
(2的n-1次方;n初始值是1)。
身份证号码各位的含义新的18位身份证号码各位的含义:1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-14位出生年月日,比如19670401代表1967年4月1日;15-17位为顺序号,其中17位男为单数,女为双数;18位为校验码,0-9和X,由公式随机产生。
举例:130503 19670401 0012这个身份证号的含义: 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为验证码。
15位身份证号码各位的含义:1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;13-15位为顺序号,其中15位男为单数,女为双数;与18位身份证号的第二个区别:没有最后一位的验证码。
举例:130503 670401 001的含义; 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001。
居民身份证是国家法定的证明公民个人身份的证件。
为了堵塞和制止假居民身份证的流通和使用,在查验和核查居民身份证时可掌握以下几个要点:一、居民身份证的整体识别1、居民身份证规格为88mm×60mm,四角呈圆弧状。
式样为聚脂薄膜密封、持证人像片和登记内容一体化的单页卡式,即证件是经翻拍印制后塑封而成。
2、证件正面主要颜色为红、绿二色,印有中华人民共和国国徽和证件名称,以及环状、网状、团状花纹图案;背面为浅绿色,印有中华人民共和国版图、持证人标准像片,以及网状花纹图案,姓名、性别、民族、出生年月日、住址五个登记项目和签发日期、有效期限、编号三个项目及签发机关印章。
新的防伪居民身份证背面透视全息图象由长城峰火台图象IDCHINA中国等字样组成。
“ID长城峰火台图象CHINA中国”在“中国CHINAID”组成的背景前由内向外依次排列。
身份证算法规范————————————————————————————————作者: ————————————————————————————————日期:ﻩ身份证规范文件修改记录产品版本号修改人修改日期修改主要内容备注1.0 2017.02.17 建立1.概述1.1.岗位略1.2.用途作为身份证信息的统一标准说明1.3.业务背景人员管理的最基本的信息就是身份证信息。
2.身份证样式3.身份证信息说明3.1.姓名身份证姓名登记必须用规范汉字。
一般情况下没有特殊理由,特别是年满18周岁的人,不轻易给予更改姓名。
姓名不得含有下列内容:ﻫ1.已简化的繁体字;2.已淘汰的异体字,但姓氏中的异体字除外;ﻫ3.自造字;ﻫ4.外国文字;ﻫ5.汉语拼音字母;6.阿拉伯数字;ﻫ7.符号;ﻫ8.其他超出规范的汉字和少数民族文字范围以外的字样。
考虑到我国姓名所用字数中单姓的通常为2至3个汉字、复姓或者采用父母双方姓氏的多为3至4个汉字,规定:除使用民族文字或者书写、译写汉字的以外,姓名用字应当在2个汉字以上、6个汉字以下。
少数民族因为姓名的特点,实际常常超过六个字3.2.性别性别(男/女)第17位为单数表示:男,双数表示:女3.3.民族我国已公布的56个民族民族傈僳壮朝鲜白鄂伦春东乡傣崩龙柯尔克孜纳西鄂温克乌孜别克哈尼布依毛难维吾尔锡伯京哈萨克布朗水羌门巴仡佬回彝汉苗阿昌仫佬土怒满蒙古高山佤土家拉祜独龙藏黎侗基诺撒拉珞巴裕固东乡俄罗斯塔吉克普米瑶赫哲乌孜别克保安塔塔尔景颇畲达斡尔京其他其中之外的民族,如外籍人士加入了我国国籍,其民族栏就是”其他”3.4.出生日期身份证号码中13~14位为出生日期比如:20001010代表2000年10月10日。
3.5.住址身份证所在地和户口所在地按规定应是同一地址。
但有时把户口迁到另外一个地方,身份证没有换,造成户口所在地与身份证所在地不符。
3.6.公民身份证号码号码位数号码功能描述备注1-2位省、自治区、直辖市代码3-4位地级市、盟、自治州(旗)代码5-6位县、县级市、区代码7-14位出生年月日,例如:20100111代表2010年1月11日15-17位为顺序号,其中17位男为单数,女为双数18位为校验码,0-9和X。
身份证号码举例
身份证整个号码的含义是什么?
18位身份证号码各位的含义:
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-14位出生年月日,比如19670401代表1967年4月1日;
15-17位为顺序号,其中17位(倒数第二位)男为单数,女为双数;
18位为校验码,0-9和X。
作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,计算的结果是0-10,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。
X是罗马
数字的10,用X来代替10。
举例:
130503 19670401 0012这个身份证号的含义: 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为校验码。
15位身份证号码各位的含义:
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;
13-15位为顺序号,其中15位男为单数,女为双数;
与18位身份证号的第二个区别:没有最后一位的校验码。
举例:
130503 670401 001的含义; 13为河北,05为邢台,03为桥西区,出生日期为1967
年4月1日,顺序号为001。
Excel身份证号码校验实例
身份证号码是按照一定规律编制的,是个人身份的有效证明,每个人只有一个号码,且不会重复,因而被各单位各部门广泛应用在相关名册中。
在大量的身份证号码录入过程中,由于抄写或录入等原因,可能会弄错了某位数字,如果录错了任何一位数字,计算出来的校验码就不一样。
根据这一特点,本函数可以对已录入的大批量身份证号码进行校验,如果校验未通过,则说明你录入的号码中必定是某位数字错了,应及时更正,以保证身份证号码正确有效,如果录入的是第一代15位身份证号码,本函数将返回18位号码,使身份证号码保持
统一的位数。
代码如下:
Function IDcheck(ID) '身份证号码校验函数
Dim s, i As Integer
Dim e, z As String
Part1: '----------------------------身份证号码合法性检查---------------------------------------
If Not (Len(ID) = 18 Or Len(ID) = 15) Then '位数检验
IDcheck = "位数错误"
Exit Function
Else
If Len(ID) = 15 Then ID = Left(ID, 6) & "19" & Right(ID, 9)
If IsNumeric(Left(ID, 17)) = False Or InStr(ID, ".") > 0 Then '字符检验
IDcheck = "字符错误"
Exit Function
End If
On Error Resume Next '日期检验
If DateValue(Mid(ID, 7, 4) & "-" & Mid(ID, 11, 2) & "-" & Mid(ID, 13, 2)) < 1 Or _
DateValue(Mid(ID, 7, 4) & "-" & Mid(ID, 11, 2) & "-" & Mid(ID, 13, 2)) > Date Then
IDcheck = "日期错误"
Exit Function
End If
End If
Part2: '-----------------------------校验码的生成及检查----------------------------------------
s = 0
For i = 1 To 17
s = s + Val(Mid(ID, 18 - i, 1)) * (2 ^ i Mod 11)
Next
e = Mid("10X98765432", (s Mod 11) + 1, 1) '生成校验码
If Len(ID) = 18 Then
z = UCase(Right(ID, 1))
If z = e Then '校验码对比
IDcheck = "通过"
Else
IDcheck = "校验未通过" '如果要返回校验码,请把本行语句改为:IDcheck = e
End If
Else
IDcheck = ID & e '15位身份证号码升位
End If
End Function '编写474589791 2011年6月11日
使用方法:
一、建立函数
1、打开excel,点击菜单的“工具→宏→录制新宏”,弹出录制新宏对话框。
2、在“保存在”下面选择“个人宏工作簿”,点击确定。
(选择个人宏工作簿有2大好处:①使本函数可应用于当前计算机中所有的excel工作表;②不受宏安全性设置高低的影响。
)
3、在弹出的录制宏工具中点击“停止录制”按钮,结束宏的录制。
4、点击菜单的“工具→宏→Visual Basic 编辑器”,打开编辑器。
5、在编辑器中可以看到刚才录制的代码“Sub macrol()”,还有录制时间等内容。
选中
编辑器中的代码并删除。
注:如果编辑器中没有出现PERSONAL.XLS - 模块1(代码),请在左边“工程资源管理器”中找到PEROSNAL.XLS下面的模块1并双击。
6、把以上代码复制到编辑器中,保存并退出编辑器。
至此,你就可以使用本函数了。
二、函数的使用
1、打开名册,点击身份证号码后面用于存放校验结果的空白单元格,点击插入函数按钮
fx ,弹出插入函数对话框。
2、在“选择类别”中选择“用户定义”类。
3、可以看到“选择函数”下面出现了刚才保存的PERSONAL.XLS!IDcheck 函数,选中该
函数,点击确定按钮,弹出“函数参数”对话框。
4、点击工作表上对应的身份证号码单元格(下图为A2单元格),点击“确定”按钮。
5、然后向下填充,得到其他身份证号码的检验结果。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\。