https://github.com/Simplify/ibantools
IBANTools is TypeScript/JavaScript library for validation, creation and extraction of IBAN, BBAN and BIC/SWIFT numbers.
https://github.com/Simplify/ibantools
bban bic iban iso-3136-1-alpha-2 iso3166 javascript javascript-library sepa swift typescript
Last synced: 3 months ago
JSON representation
IBANTools is TypeScript/JavaScript library for validation, creation and extraction of IBAN, BBAN and BIC/SWIFT numbers.
- Host: GitHub
- URL: https://github.com/Simplify/ibantools
- Owner: Simplify
- License: other
- Created: 2015-12-06T12:37:16.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T13:06:13.000Z (9 months ago)
- Last Synced: 2024-10-29T21:03:49.690Z (9 months ago)
- Topics: bban, bic, iban, iso-3136-1-alpha-2, iso3166, javascript, javascript-library, sepa, swift, typescript
- Language: JavaScript
- Homepage: http://simplify.github.io/ibantools
- Size: 2.37 MB
- Stars: 204
- Watchers: 7
- Forks: 41
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# IBANTools


[](https://badge.fury.io/js/ibantools)
[](https://www.npmjs.com/package/ibantools)
/badge.svg?branch=master)

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





## 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](https://en.wikipedia.org/wiki/International_Bank_Account_Number) and
[IBAN registry](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).
## Installation
### Node (Common JS ES5 and ES6)
```
$ npm install ibantools
```### Bower (AMD ES5)
```
$ bower install ibantools
```## Usage
See [full documentation](http://simplify.github.io/ibantools) with examples on Github pages.
### Node.js - CommonJS
```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');
```### AMD - RequireJS - Browser
```js
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](https://github.com/rollup/rollup) or [JSPM](http://jspm.io/), 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](https://github.com/baumerdev/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](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).
## 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`