ibantools
v4.5.1
Published
Validation, extraction and creation of IBAN, BBAN, BIC/SWIFT numbers plus some other helpful stuff like ISO 3136-1 alpha 2 country list
Downloads
927,546
Maintainers
Readme
IBANTools
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