Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

中国大陆个人身份证号验证 Chinese Mainland Personal ID Card Validation

NotificationsYou must be signed in to change notification settings

mc-zone/IDValidator

Repository files navigation

中国大陆个人身份证号码验证器(JS版)

Chinese Mainland Personal ID Card Validation

支持15位与18位身份证号

支持 AMD/CMD/CommonJS, 或浏览器直接使用

API

isValid() 验证号码是否合法,合法返回true,不合法返回false

getInfo() 号码合法时返回分析信息(地区、出生日期、性别、校验位),不合法返回false

makeID() 伪造一个符合校验的ID

Getting Start

浏览器端直接使用

<scripttype="text/javascript"src="path/to/IDValidator/IDValidator.min.js"charset="utf-8"></script><scripttype="text/javascript"src="path/to/IDValidator/GB2260.min.js"charset="utf-8"></script><scripttype="text/javascript">//新建普通实例varValidator=newIDValidator();//或使用带地址码实例,需要引入GB2260varValidator=newIDValidator(GB2260);</script>

AMD / RequireJS

requirejs.config({paths:{IDValidator:'path/to/IDValidator',GB2260:'path/to/GB2260'}});require(["IDValidator","GB2260"],function(IDValidator,GB2260){varValidator=newIDValidator();//或使用地址库varValidator2=newIDValidator(GB2260);});

CMD / SeaJS

define(function(require,exports,module){varIDValidator=require('path/to/IDValidator');varValidator=newIDValidator();//或使用地址库varGB2260=require('path/to/GB2260');varValidator2=newIDValidator(GB2260);});

CommonJS / Node

Install via npm:

npm i id-validator --save
varIDValidator=require('id-validator');varGB2260=require('id-validator/src/GB2260');varValidator=newIDValidator(GB2260);

提示:所有API引入IDValidator.js就可以使用。

GB2260.js为GB 2260地址码数据,用于分析地址信息,在实例化时传入,可以不使用。

压缩后:

IDValidator.min.js 3K

GB2260.min.js 140K

使用方法:

实例化查询器:

varValidator=newIDValidator();

实例化时可传入GB2260,信息处理中将加入地址信息

varValidator=newIDValidator(GB2260);

查询身份证号是否合法

//JS中长数字有精度丢失问题, 请使用字符串传值varid="123456789012345678";Validator.isValid(id);//合法号码return true, 不合法return falseValidator.isValid(id,18);//强制要求18位ID

注:

  1. JS中长数字有精度丢失问题, 长数字请使用字符串传值

  2. 由于15位身份证号不含校验码,只能依据地址与日期是否存在进行判断

获取身份证号信息

Validator.getInfo(id);/* * 号码有效时返回内容示例: * { *   'addrCode': 100101, //地址码信息, *   'addr':     '北京市东城区', //地址信息, 只在实例化时传入了GB2260时返回 *   'birth':    '1988-01-20', //出生年月日 *   'sex':      1, //性别,0为女,1为男 *   'checkBit': 'X', //校验位,仅当18位时存在 *   'length':   18 //身份证类型,15位或18位 * } */Validator.getInfo(id,18);//强制要求18位ID

伪造一个ID

//制造一个18位IDvarID=Validator.makeID();//制造一个15位IDvarID=Validator.makeID(true);

详见examples .

参考资料

GB 11643-1999 公民身份证号码

GB 2260-1995 中华人民共和国行政区划代码

License

MIT

About

中国大陆个人身份证号验证 Chinese Mainland Personal ID Card Validation

Resources

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp