UNPKG

finnish-bank-utils

Version:

A micro Javascript library for validating, creating and formatting Finnish IBAN bank account numbers and reference numbers. Can parse payment details from Finnish virtual barcodes.

150 lines (115 loc) 4.53 kB
[![Build Status](https://travis-ci.org/vkomulai/finnish-bank-utils.svg?branch=master)](https://travis-ci.org/vkomulai/finnish-bank-utils) ![0 deps](https://david-dm.org/vkomulai/finnish-bank-utils.svg) ![Downloads](https://img.shields.io/npm/dt/finnish-bank-utils.svg) ![License](https://img.shields.io/npm/l/finnish-bank-utils.svg) - A micro Javascript library for validating, creating and formatting Finnish IBAN bank account numbers and reference numbers - Lightweight, 5.2kB - No dependencies - Vanilla JS (ES6) + Babel for browser compatibility Installation ------------ ```sh # NPM npm install finnish-bank-utils # Bower bower install finnish-bank-utils ``` ```html <!-- From unpkg.com --> <script src="https://unpkg.com/finnish-bank-utils/finnish-bank-utils.min.js"></script> ``` Usage ----- Node.js ``` js const FinnishBankUtils = require('finnish-bank-utils') FinnishBankUtils.isValidFinnishIBAN('FI9080002627761348') ``` Browser: Writes FinnishBankUtils into global namespace. ``` html <script src="finnish-bank-utils.min.js"></script> <script> FinnishBankUtils.isValidFinnishIBAN('FI9080002627761348') </script> ``` Examples -------- ```js # Valid IBAN returns true, allows whitespace FinnishBankUtils.isValidFinnishIBAN('FI9080002627761348') FinnishBankUtils.isValidFinnishIBAN('FI 90 800026 2776 1348') ``` ```js # Valid reference number returns true, allows whitespace # !! Reference number type must be a string !! FinnishBankUtils.isValidFinnishRefNumber('1511890656') FinnishBankUtils.isValidFinnishRefNumber('15118 90656') # Allow international format for local reference number FinnishBankUtils.isValidFinnishRefNumber('RF34 1234 561') ``` ```js # Valid IBAN returns formatted version, allows whitespace FinnishBankUtils.formatFinnishIBAN('FI9080002627761348') // 'FI90 8000 2627 7613 48' ``` ```js # Valid reference number returns formatted version, allows whitespace FinnishBankUtils.formatFinnishRefNumber('1511890656') // '15118 90656' FinnishBankUtils.formatFinnishRefNumber('RF341234561') // 'RF34 1234 561' ``` ```js # Format Finnish virtual bar code (virtuaaliviidakoodi, pankkiviivakoodi) # Supports versions 4 and 5 FinnishBankUtils.formatFinnishVirtualBarCode({iban: 'FI58 1017 1000 0001 22', sum: 482.99, reference: '55958 22432 94671', date: '31.1.2012'}) // '458101710000001220004829900000000559582243294671120131' FinnishBankUtils.formatFinnishVirtualBarCode({iban: 'FI02 5000 4640 0013 02', sum: 693.8, reference: 'RF61 6987 5672 0839', date: '24.7.2011'}) // '502500046400013020006938061000000000698756720839110724' ``` ```js # Parse Finnish virtual bar code (virtuaaliviidakoodi, pankkiviivakoodi) # Supports versions 4 and 5 FinnishBankUtils.parseFinnishVirtualBarCode('458101710000001220004829900000000559582243294671120131') // {iban: 'FI58 1017 1000 0001 22', sum: 482.99, reference: '55958 22432 94671', date: '31.1.2012'} FinnishBankUtils.parseFinnishVirtualBarCode('502500046400013020006938061000000000698756720839110724') // {iban: 'FI02 5000 4640 0013 02', sum: 693.8, reference: 'RF61 6987 5672 0839', date: '24.7.2011'} ``` ```js # Generate a Finnish reference number FinnishBankUtils.generateFinnishRefNumber() // '6173672848' FinnishBankUtils.generateFinnishRefNumber('617367284') // '6173672848' ``` ```js # Generate a Finnish IBAN FinnishBankUtils.generateFinnishRefIBAN() // 'FI9080002627761348' ``` Functions --------- ##### isValidFinnishRefNumber(referenceNumber) : string --> boolean - Validates parameter given reference number ##### isValidFinnishIBAN(ibanNumber) : string --> boolean - Validates parameter given Finnish IBAN number ##### formatFinnishRefNumber(referenceNumber) : string --> string - Formats parameter given reference number ##### formatFinnishIBAN(ibanNumber) : string --> string - Formats parameter given Finnish IBAN number ##### formatFinnishVirtualBarCode({iban : string, sum : number, reference : string, date : string}) : object --> string - Formats parameters to Finnish virtual bar code ##### parseFinnishVirtualBarCode(barCode) : string --> object - Parses parameter given Finnish virtual bar code ##### generateFinnishRefNumber(initial) : string|void --> string - Generates a (possibly random 10 char long) Finnish reference number. ##### generateFinnishIBAN() : void --> string - Generates a random Finnish IBAN number Building -------- ```sh # Build a distributable, minified UMD library compatible with browsers and Node npm run dist # Run tests npm run test ``` License ------- [MIT License](LICENSE)