怎么获得身份证号的信息
最近,在做一个小需求,将身份证号,转化为具体的信息,籍贯、出生日期、性别。功能简单,存放备用。
随手写了个get-id-card-info 插件,没有任何依赖。
想玩的话,支持命令行和函数引用:
npm i get-id-card-info -g
get-id-card-info 你的身份证号
如果项目想用的话,先安装
npm i get-id-card-info
使用
const getIdCardInfo = require("get-id-card-info");
const info = getIdCardInfo("11204416541220243x");
/**
{
idCard: '11204416541220243x',
addr: { province: '北京市', city: '', county: '' },
addrCode: '112044',
age: 367,
gender: '男',
birthday: '1654-12-20'
}
*/
18 位身份证的含义
- 第 1 一 6 位数为行政区划代码;
- 第 7—14 位数为出生日期代码;
- 第 14---17 位数为分配顺序代码;
- 校验码;校验码是由身份证号码编制单位按统一的公式计算出来的,如果某人的尾号是 0-9,都不会出现 Ⅹ,但如果尾号是 10,那么就得用 Ⅹ 来代替。因为如果用 10 做尾号,那么此人的身份证就变成了 19 位。其中 17 位男为单数,女为双数
15 位身份证号码各位的含义
- 第 l 一 6 位数为行政区划代码;
- 第 7—12 位数为出生日期代码;
- 第 13---15 位数为分配顺序代码;其中 15 位男为单数,女为双数
原理
其实没啥,就根据上面的,计算就好。
发包的细节
- 本地可以
yarn link
,测试包 - 想让包可以用命令行使用,在
package.json
那边加上"bin": { "get-id-card-info": "./bin/index.js" },
- 想上传包的时候忽略文件
.npmignore
- 发包的顺序:
npm adduser;验证码;npm publish
,注意之前注册的邮箱会收到验证码 - 发包失败,一看包名官网是否已经存在,二看版本是不是没更新
引用
转载自:https://juejin.cn/post/7130571748210114568