ibantools
Version:
Validation, extraction and creation of IBAN, BBAN, BIC/SWIFT numbers plus some other helpful stuff like ISO 3136-1 alpha 2 country list
116 lines (75 loc) • 4.33 kB
Markdown
//img.shields.io/badge/License-MIT-blue)


[](https://badge.fury.io/js/ibantools)
[](https://www.npmjs.com/package/ibantools)

/badge.svg?branch=master)

[](https://coveralls.io/github/Simplify/ibantools?branch=master)








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](https://en.wikipedia.org/wiki/International_Bank_Account_Number) and
[ ](https://www.swift.com/resource/iban-registry-pdf).
For more information about BIC/SWIFT see [this wikipedia page](https://en.wikipedia.org/wiki/ISO_9362).
```
$ npm install ibantools
```
```
$ bower install ibantools
```
See [full documentation](http://simplify.github.io/ibantools) with examples on Github pages.
```js
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');
```
```js
require(["ibantools"], function(ibantools) {
console.log(ibantools.isValidIBAN('NL91 ABNA 0417 1643 00'));
console.log(ibantools.isValidBIC('ABNANL2A'));
});
```
Use browserify or webpack.
Use node, not bower module.
If you are using tools that support `jsnext`, like a [rollup](https://github.com/rollup/rollup) or [JSPM](http://jspm.io/), they will automatically select right module from the package.
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.
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](https://github.com/baumerdev/ibantools-germany) and add this with
```
const ibantools = require('ibantools');
const ibantoolsGermany = require("ibantools-germany");
ibantools.setCountryBBANValidation("DE", ibantoolsGermany.isValidBBAN);
```
This project adheres to the Contributor Covenant [code of conduct](https://github.com/Simplify/ibantools/blob/master/.github/CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code.
For contribution details, please read [this document](https://github.com/Simplify/ibantools/blob/master/CONTRIBUTING.md).
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`
![License](https: