IBANTools

IBANTools

License License

Bower version npm version NPM downloads Dependents (via libraries.io)

Build CI ESLint & Prettier CI Coverage Status

GitHub last commit GitHub contributors GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests

No deps dev deps

About

IBANTools is TypeScript/JavaScript library for validation, creation and extraction of IBAN, BBAN and BIC/SWIFT numbers.

For more information about IBAN/BBAN see wikipedia page and IBAN registry.

For more information about BIC/SWIFT see this wikipedia page.

Installation

Node (Common JS ES5 and ES6)

$ npm install ibantools

Bower (AMD ES5)

$ bower install ibantools

Usage

See full documentation with examples on Github pages.

Node.js - CommonJS

const ibantools = require('ibantools');
const iban = electronicFormatIBAN('NL91 ABNA 0417 1643 00'); // 'NL91ABNA0517164300'
ibantools.isValidIBAN(iban);

// If you want to know reason why IBAN is invalid
ibantools.validateIBAN('NL91ABNA0517164300');
// Returns { valid: false, errorCodes: [iban.ValidationErrorsIBAN.WrongIBANChecksum] }

// Validate BIC
ibantools.isValidBIC('ABNANL2A');

AMD - RequireJS - Browser

require(["ibantools"], function(ibantools) {
console.log(ibantools.isValidIBAN('NL91 ABNA 0417 1643 00'));
console.log(ibantools.isValidBIC('ABNANL2A'));
});

Node.js - Common JS in browser

Use browserify or webpack.

jsnext:main

Use node, not bower module.

If you are using tools that support jsnext, like a rollup or JSPM, they will automatically select right module from the package.

With TypeScript

Install library/module using npm. Package bundles type definitions and if you are on TypeScript 2.0 or above tsc will access those automatically. If not, check your tsconfig.json file.

Extension

Country specifications can be extended with national BBAN validations by calling setCountryBBANValidation.

For example, to fully syntactically check German IBAN, you can install IBANTools-Germany and add this with

const ibantools = require('ibantools');
const ibantoolsGermany = require("ibantools-germany");
ibantools.setCountryBBANValidation("DE", ibantoolsGermany.isValidBBAN);

Contributing

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code.

For contribution details, please read this document.

License

This work is dual-licensed under MIT and MPL-2.0. You can choose between one of them if you use this work.

SPDX-License-Identifier: MIT OR MPL-2.0