深度挖掘身份证号中隐藏的信息
摘要:对公民身份证编码规则进行了分析,建立了VBA函数能够将15位转换成18位身份证号,并且能够提示录入错误。提出了由身份证号以及配合一些信息字段,导出到其它字段的实现方法,从而减少了数据的重复录入。软件功能采用Excel实现。
本文采集自网络,本站发布的论文均是优质论文,供学习和研究使用,文中立场与本网站无关,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息,如果需要分享,请保留本段说明。
关键词:身份证号;Excel数据库
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)17-31193-02
Finding out the Information Deep in ID Code
MA De-qi,SU Ming-yue,ZANG Shi-yang
(Tianjin Entry-Exit Inspection And Quarantine Bureau, Tianjin 300456,China)
Abstract:The encoding rule of ID code is analyzed in this thesis. The self-defining function is also established to convert the 15-digit ID code into the 18-digit one, which can suggest input error. The way of extracting other field fr
om ID code and some related field is given, and then repeated input can be reduced. All these functions are realized by means of Microsoft Excel.
Key words:ID Code; Excel; Data Base thesisthesis
1 引言
身份证是我国对公民核实身份、进行管理的重要信息,每位公民都有唯一的身份证号。为此国家颁布了国家强制标准GB 11643-1999[1]。规定了号码的结构和表示形式。18位身份证号中规定,第1~6位为地址码,为编码对象常住户口所在县(市、旗、区)的行政区划代码;第7~14位为出生日期码,为编码对象出生的年、月、日共8位;第15~17为顺序码,为编码对象同地址码、同出生日期码的人编定的顺序码,奇数分配给男性,偶数分配给女性;第18位为校验码,为第1~17位经过校验计算后产生的。(如图1所示)
图1
我们在录入人员信息时,诸如“身份证号”、“出生日期”、“性别”基本上都是必须输入的字段。通过身份证号的编码规则我们了解到,“出生日期”和“性别”这两个字段是没有输入必要的。身份证号中的信息已经包含了这两个字段的内容了。完全可以提取出这两个字段的信息,不必重复输入。功能采用Excel 2003来实现。
2 身份证号录入与检错
根据国家标准的规定我们知道了第二代18位身份证号每一位的含义。我们可以很容易得把出生日期和性别信息进行提取。但是,由于我国正在逐步更换第二代身份证。现在15位和18位的两代身份证在人们手中混用。而第一代15位身份证号中出生日期码采用6位数字表示,会给提取造成一些问题,需要将15位的身份证号转换成18位身份证号。另外,由于身份证号位数较多,输入时难免产生错误。如何检错,这也是我们需要解决的问题。
15位身份证号转换为18位
第一代15位身份证号转换成第二代18位身份证号,一是将6位出生日期码改为8位出生日期码。二是由前17位计算出校验码,放在第18位。由于持有15位身份证的公民,出生日期基本上是19××年出生,所以只要在15位身份证号的第6位和第7位之间插入“19”,即可完成出生日期码的升位。得到了前17位就可以计算校验位,我们根据GB 11643-1999[1]的规定,计算出校验码。校验码采用国际标准ISO 7064:1983[3],MOD 11-2校验码系统。计算方法并不复杂,这里略去,有兴趣可到国家标准化管理委员会网站/免费阅读强制性标准GB 11643-1999[1],内有详细的校验码编码规则。
检验录入错误
当输入的身份证号位数不等于15或18时,返回错误信息:“位数异常,请核对!”,这里使用LEN函数来实现位数判断。
15位身份证号检验
由于15位身份证号缺少校验码,查
深度挖掘身份证号中隐藏的信息 来自淘豆网m.daumloan.com转载请标明出处.