Giter VIP home page Giter VIP logo

finnish-ssn's Introduction

Finnish SSN validation and creation

Build Status 0 deps Downloads License

  • A micro Javascript library for validating and creating Finnish social security numbers
  • Lightweight, 3.5kB (1.5kB gzipped)
  • No dependencies

Installation

NPM

npm install finnish-ssn

Bower

bower install finnish-ssn

From unpkg.com

<script src="https://unpkg.com/finnish-ssn/dist/finnish-ssn.min.js"></script>

Usage

ES6

import FinnishSSN from "../finnish-ssn"
const isValid = FinnishSSN.validate('010101-100X');
console.log(isValid);
//  Yields true

Oldskool Web: Writes FinnishSSN into global namespace.

<script src="https://unpkg.com/finnish-ssn/finnish-ssn.min.js"></script>
<script>
  // This is valid SSN
  var isValid = FinnishSSN.validate('290296-7808');
  console.log(isValid);
  //  Yields true
</script>

Examples

Validate an SSN

//  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

//  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.

console.log('SSN for person that is 20 years old ' + FinnishSSN.createWithAge(20));
//  SSN for person that is 20 years old 010195-XXXX

Functions

#validate(ssn)

  • Validates parameter given SSN. Returns true if SSN is valid, otherwise false

#parse(ssn)

  • Parses parameter given SSN. Returns object {valid: boolean, sex: "male|female", ageInYears: Number, dateOfBirth: Date }
{
  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)
}

#createWithAge(age)

  • Creates a valid SSN using the given age (Integer). Generates randomly male and female SSN'n.

Building

# Build a distributable, minified UMD library compatible with browsers and Node
npm run dist

# Run tests
npm run test

# Run tests in watch-mode
npm run test:watch

Changelog

1.1.1

1.1.0

  • Sources ported from ES5 --> ES6
  • Distributed js is transpiled to ES5 for backwards compatibility
  • API should still be backwards compatible with 1.0.3. Bumping minor-version to be on the safe side.

1.0.3

1.0.2

1.0.1

  • Clean semicolons, removed lodash

1.0.0

  • Initial release

Future development

  • FlowType
  • Use a better js doc tool

License

MIT License

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.