JavaScript ID Number Toolkit is a collection of validators of identity document number for JavaScript applications.
You can install IDNumber by
-
directly import in browser
<script src="IDNumber.js"></script> <!-- Please edit the URL above. -->
A CDN for this file is available at:
https://unpkg.com/id-number/dist/browser/IDNumber.js
-
using in node.js or webpack
The library is available at NPM with name
id-number
.You can import it via require.
const IDNumber = require('id-number');
Or in ES6 style.
import IDNumber from 'id-number';
const validator = IDNumber.getValidator('SG', 'NRIC');
const result = validator('S0980292D');
And the result is in format:
{
'success': true or false,
'reason': string if the result is false
}
const generator = IDNumber.getValidator('CN', 'ID');
const result = generator();
And the result is in format:
{
'value': 466311201110053638,
'extra': {"province":"海南","birthday":"2011-10-05","gender":"Male"}
}
Country | Document |
---|---|
SG (Singapore) | NRIC |
TW (Taiwan) | ID (身份證字號) |
CN (China) | ID (居民身份证号码) |
To build: npm run build
To test: npm test
Step 1: Write the validator / generator in TypeScript in the directory src/providers/<name>.ts
.
The validator shall be a function returning a InternalValidateResult
.
Step 2: Register the validator / generator in src/IDNumber.ts
Step 3: Write test cases at src/<name>.spec.ts
.
Step 4: Send a pull request to this repository.
Thank you for the contributions.
The source code for demo website (id-number.dreamrunner.space) locates
at the demo
folder.
To deploy, go into demo
folder and type yarn deploy
if you have
permission.
We have a very good wiki that explain the algorithm of the ID number checksum used by different identity documents.