finnish-ssn-validator
Version:
Small utility for validating and creating Finnish social security numbers. No more, no less, no dependencies.
119 lines (87 loc) • 2.26 kB
Markdown
- This is a fork from https://github.com/vkomulai/finnish-ssn which is not maintained anymore. This project will be maintained in the future.
- A micro Javascript library for validating and creating Finnish social security numbers
- Zero dependencies
```sh
npm install finnish-ssn-validator --save
```
ES6 / TypeScript
```js
import { FinnishSSN } from 'finnish-ssn-validator'
const isValid = FinnishSSN.validate('010101-100X')
console.log(isValid) // Yields true
```
Validate an SSN
```js
// This is valid SSN
console.log('valid ssn returns ' + FinnishSSN.validate('290296-7808'))
// 'valid ssn returns true'
// This is invalid SSN
console.log('invalid ssn returns ' + FinnishSSN.validate('010198-1000'))
// 'invalid ssn returns false'
```
Parse SSN
```js
// This is valid SSN
var parsedSsn = FinnishSSN.parse('290296-7808')
// This is invalid SSN
console.log(parsedSsn)
{
valid: true,
sex: 'female',
ageInYears: 19,
dateOfBirth: Thu Feb 29 1996 00:00:00 GMT+0200 (EET)
}
```
Create an SSN for person that is 20 years old.
```js
console.log('SSN for person that is 20 years old ' + FinnishSSN.createWithAge(20))
// SSN for person that is 20 years old 010195-XXXX
```
- Validates parameter given SSN. Returns true if SSN is valid, otherwise false
- Parses parameter given SSN. Returns object `{valid: boolean, sex: "male|female", ageInYears: Number, dateOfBirth: Date }`
```js
{
valid: false,
sex: null,
ageInYears: null,
dateOfBirth: null
}
{
valid: true,
sex: 'male',
ageInYears: 15,
dateOfBirth: Tue Feb 29 2000 00:00:00 GMT+0200 (EET)
}
{
valid: true,
sex: 'female',
ageInYears: 15,
dateOfBirth: Mon Feb 28 2000 00:00:00 GMT+0200 (EET)
}
```
- Creates a valid SSN using the given age (Integer). Generates randomly male and female SSN'n.
## Building
```sh
npm run dist
# Run tests
npm run test
# Run tests in watch-mode
npm run test:watch
```
## Changelog
### 1.0.2
- Updated multiple dependencies
### 1.0.1
- Updated documentation
### 1.0.0
- Initial release with latest dependencies and updated code
## License
[MIT License](LICENSE)