mild-blue / czech-personal-number

A package that validates and parses Czech personal identity numbers.

Home Page:https://github.com/mild-blue/czech-personal-number

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Czech personal number

A package that validates and parses Czech personal identity numbers.

Intallation

NPM:

npm install czech-personal-number

Yarn:

yarn add czech-personal-number

Supported values

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.

Usage

Validation

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.';
// }

Parsing

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.';
// }

About

A package that validates and parses Czech personal identity numbers.

https://github.com/mild-blue/czech-personal-number

License:MIT License


Languages

Language:TypeScript 98.0%Language:JavaScript 2.0%