{"id":20016876,"url":"https://github.com/mc-zone/idvalidator","last_synced_at":"2025-05-16T03:05:59.596Z","repository":{"id":23981102,"uuid":"27364131","full_name":"mc-zone/IDValidator","owner":"mc-zone","description":"中国大陆个人身份证号验证 Chinese Mainland Personal ID Card Validation","archived":false,"fork":false,"pushed_at":"2017-12-20T09:46:12.000Z","size":189,"stargazers_count":963,"open_issues_count":6,"forks_count":176,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-05-10T18:07:17.088Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mc-zone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-01T05:26:53.000Z","updated_at":"2025-05-08T10:13:31.000Z","dependencies_parsed_at":"2022-08-05T07:30:20.715Z","dependency_job_id":null,"html_url":"https://github.com/mc-zone/IDValidator","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-zone%2FIDValidator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-zone%2FIDValidator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-zone%2FIDValidator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-zone%2FIDValidator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mc-zone","download_url":"https://codeload.github.com/mc-zone/IDValidator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254459088,"owners_count":22074605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T08:13:30.651Z","updated_at":"2025-05-16T03:05:54.587Z","avatar_url":"https://github.com/mc-zone.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IDValidator.js [![Build Status](https://travis-ci.org/mc-zone/IDValidator.svg?branch=master)](https://travis-ci.org/mc-zone/IDValidator/) [![npm version](https://badge.fury.io/js/id-validator.svg)](http://badge.fury.io/js/id-validator)\n\n中国大陆个人身份证号码验证器（JS版）\n\nChinese Mainland Personal ID Card Validation\n\n支持15位与18位身份证号\n\n支持 AMD/CMD/CommonJS, 或浏览器直接使用\n\n\n## API\n`isValid()` 验证号码是否合法，合法返回true，不合法返回false\n\n`getInfo()` 号码合法时返回分析信息（地区、出生日期、性别、校验位），不合法返回false\n\n`makeID()` 伪造一个符合校验的ID\n\n\n## Getting Start\n\n### 浏览器端直接使用\n```html\n\u003cscript type=\"text/javascript\" src=\"path/to/IDValidator/IDValidator.min.js\" charset=\"utf-8\" \u003e\u003c/script\u003e\n\u003cscript type=\"text/javascript\" src=\"path/to/IDValidator/GB2260.min.js\" charset=\"utf-8\" \u003e\u003c/script\u003e\n\u003cscript type=\"text/javascript\"\u003e\n\n    //新建普通实例\n    var Validator = new IDValidator();\n\n    //或使用带地址码实例,需要引入GB2260\n    var Validator = new IDValidator( GB2260 );\n\n\u003c/script\u003e\n```\n\n### AMD / RequireJS\n```javascript\nrequirejs.config({\n    paths: {\n        IDValidator:'path/to/IDValidator',\n        GB2260:'path/to/GB2260'\n    }\n});\nrequire([\"IDValidator\",\"GB2260\"], function(IDValidator,GB2260) {\n\n    var Validator = new IDValidator();\n\n    //或使用地址库\n    var Validator2 = new IDValidator( GB2260 );\n\n});\n\n```\n\n### CMD / SeaJS\n```javascript\ndefine(function(require, exports, module) {\n    var IDValidator = require('path/to/IDValidator');\n    var Validator = new IDValidator();\n\n    //或使用地址库\n    var GB2260 = require('path/to/GB2260');\n    var Validator2 = new IDValidator( GB2260 );\n});\n```\n\n### CommonJS / Node\nInstall via npm:\n```bash\nnpm i id-validator --save\n```\n\n```javascript\nvar IDValidator = require('id-validator');\nvar GB2260 = require('id-validator/src/GB2260');\n\nvar Validator = new IDValidator( GB2260 );\n\n```\n\n提示：所有API引入IDValidator.js就可以使用。\n\nGB2260.js为GB 2260地址码数据，用于分析地址信息，在实例化时传入，可以不使用。\n\n压缩后:\n\nIDValidator.min.js 3K \n\nGB2260.min.js 140K \n\n## 使用方法:\n\n实例化查询器:\n```js\nvar Validator = new IDValidator();\n```\n实例化时可传入GB2260，信息处理中将加入地址信息\n```js\nvar Validator = new IDValidator( GB2260 );\n```\n\n查询身份证号是否合法\n```js\n//JS中长数字有精度丢失问题, 请使用字符串传值\nvar id = \"123456789012345678\";\n\nValidator.isValid( id );\n//合法号码return true, 不合法return false\n\nValidator.isValid( id, 18 );\n//强制要求18位ID\n```\n注:\n\n1. JS中长数字有精度丢失问题, 长数字请使用字符串传值\n\n2. 由于15位身份证号不含校验码，只能依据地址与日期是否存在进行判断\n\n获取身份证号信息\n```js\nValidator.getInfo( id );\n/* \n * 号码有效时返回内容示例:\n * {\n *   'addrCode': 100101, //地址码信息,\n *   'addr':     '北京市东城区', //地址信息, 只在实例化时传入了GB2260时返回\n *   'birth':    '1988-01-20', //出生年月日\n *   'sex':      1, //性别，0为女，1为男\n *   'checkBit': 'X', //校验位，仅当18位时存在\n *   'length':   18 //身份证类型，15位或18位\n * }\n */\n\n\nValidator.getInfo( id,18 );\n//强制要求18位ID\n```\n\n伪造一个ID\n```js\n//制造一个18位ID\nvar ID = Validator.makeID();\n\n//制造一个15位ID\nvar ID = Validator.makeID( true );\n```\n详见 [`examples`](https://github.com/mc-zone/IDValidator/tree/master/examples/) .\n\n## 参考资料\nGB 11643-1999 公民身份证号码\n\nGB 2260-1995 中华人民共和国行政区划代码\n\n## License\nMIT\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmc-zone%2Fidvalidator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmc-zone%2Fidvalidator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmc-zone%2Fidvalidator/lists"}