如何从身份证号中提取出生年月:18位证件固定位数直接截取

如何从身份证号中提取出生年月:18位证件固定位数直接截取

之前帮公司整理员工信息台账的时候,一堆纸质身份证照片要挨个录入出生年月,懒得一个个手动翻看填写,就专门琢磨了怎么从身份证号中提取出生年月,硬生生靠实操摸透了最简单的提取方式。

很多人下意识会点开浏览器搜出生日期换算工具,其实完全没必要,身份证号的数字排布是固定规律,根本不用借助任何软件,肉眼就能快速找出来。我最开始偷懒,随便对着号码乱数位数,经常把年份少看一位,要么就是把后面的顺序码当成出生日期,整理出来的台账一堆错误,返工改了大半天才纠正完。

18位的二代身份证,是目前所有人通用的证件格式,提取规则特别死板。证件号码从左数,第7位到第14位,整整八位数字,就是完整的出生年月日。这八位数字依次对应四位年份、两位月份、两位日期,没有任何变动的可能,不用换算、不用核对,直接截取复制就行。

当时整理信息的时候,遇到过好几个老员工拿着15位的一代身份证复印件,一开始直接套用18位的截取方法,结果提取出来的日期完全对不上,白白浪费了很多时间。后来对着老旧证件反复核对才发现,15位身份证少了出生年份的前两位,整体位数更短。

15位旧身份证的提取位置是第7位到第12位,一共六位数字,分别是两位年份、两位月份、两位日期。因为年份只显示后两位,比如99、02,手动录入的时候,要自己补上19或者20,大部分八九十年代的证件都是19开头,零零后几乎没有15位身份证,基本不用纠结20开头的情况。

录入的时候还犯过一个很琐碎的错误,提取出数字后,直接连着八位数字填进表格,导致出生年月格式不规范。台账要求的是XXXX年XX月,不需要具体日期,每次都要手动删掉最后两位日期数字,反复删减特别麻烦。后面直接养成习惯,截取7到12位数字,只保留年月部分,省去二次修改的步骤。

身边不少同事每次都靠第三方小程序识别,不仅慢,偶尔还会因为图片模糊识别出错。试过好几次对比,纯手动按位数截取的方式,准确率是百分百的,而且几秒钟就能搞定一个,比扫码识别快太多。

不用区分复杂情况,日常接触的身份证基本只有18位和15位两种。拿到号码先看总位数,18位就取7-14位数字拆分年月,15位就取7-12位数字补全年份后整理出对应年月。

刚刚整理完最后一份员工信息,对着剩余的证件号码,继续按固定位数逐一截取录入。

了解更多百科知识请访问 百科