A package that validates and parses Czech personal identity numbers.
NPM:
npm install czech-personal-number
Yarn:
yarn add czech-personal-number
The supported range of birth years is from 1900 until the current year. For example,
005518/532 parses as a personal identity number of a woman born on 18.05.1900, and 530110/0013 is an invalid personal number with a date of birth in the future.
This package will be relevant until the end of the year 2053. In the year 2054 the format of personal identity numbers will have to change.
let result = validate('720909/7280');
// {
// isValid: true;
// detail: {
// age: 49;
// dateOfBirth: "1972-09-08T23:00:00.000Z";
// gender: "M";
// birthOrder: 728;
// controlDigit: 0;
// }
// }
result = validate('720909/7180');
// {
// isValid: false;
// detail: 'Given personal number does not satisfy modulo condition. Input value: 720909/7180.';
// }let result = parse('720909/7280');
// {
// result: {
// age: 49;
// dateOfBirth: "1972-09-08T23:00:00.000Z";
// gender: "M";
// birthOrder: 728;
// controlDigit: 0;
// };
// message: 'Personal number is valid.';
// }
result = parse('720909/7180');
// {
// result: undefined;
// message: 'Given personal number does not satisfy modulo condition. Input value: 720909/7180.';
// }