2.0.0 • Published 2 years ago
singapore-nric v2.0.0
singapore-nric
A Singapore NRIC Validator & Generator class, by Samuel Liew This library supports the validation and generation of M-series NRIC numbers.
You can also use these pages on my website to generate or validate manually.
Installation
npm install singapore-nricClass Usage
import NRIC from 'singapore-nric';
const n = new NRIC('S1234567D');Properties
| Property | Type | Description |
|---|---|---|
value | string | entire value of NRIC |
firstchar | string | first character |
identifier | string | last four alphanumeric characters |
checksum | string | checksum (last character) |
isCorrectFormat | boolean | format is valid |
isValid | boolean | checksum is valid |
Examples
n.value; // 'S1234567D'
n.firstchar; // 'S'
n.identifier; // '567D'
n.checksum; // 'D'
n.isCorrectFormat; // true
n.isValid; // trueStatic Methods
Validate( nric )
Validate a single NRIC, or an array of NRIC strings
@param {string|string[]|NRIC|NRIC[]} nric - (single or array of) NRIC strings or NRIC instances
@returns {boolean} - true if all are valid NRICs
NRIC.Validate('S1234567D'); // true
NRIC.Validate([ 'S1234567D', 'S1234567D' ]); // trueGenerate( firstchar? )
Returns a random NRIC with valid checksum
@param {string} firstchar - (optional) set first character
@returns {NRIC} - NRIC number
NRIC.Generate().value; // e.g.: 'S1234567D'
NRIC.Generate('M').value; // e.g.: 'M1235467X'GenerateMany( amount )
Generate an array of NRICs with valid checksum
@param {number} amount - number to generate
@returns {NRIC[]} - an array of NRIC numbers
const nrics = NRIC.GenerateMany(3); // e.g.: [ NRIC, NRIC, NRIC ]
nrics[0].value; // e.g.: 'S1234567D'Further Examples
See tests.