@dellacagna/iban
v1.1.1
Published
Validate, format and generate IBAN numbers
Downloads
2,530
Maintainers
Readme
IBAN Library
A simple library for validating, formatting and generating fake IBAN numbers.
This library follows the ISO 13616 IBAN Registry technical specification and supports 107 countries.
Usage
NodeJS
import { IBAN } from '../index';
let iban = new IBAN('GB82 WEST 1234 5698 7654 32');
if (iban.isValid()) {
console.log('The IBAN is valid');
}
API
isValid()
Returns true for a valid IBAN or false if invalid.
example:
let iban = new IBAN('GB82 WEST 1234 5698 7654 32');
if (iban.isValid()) {
console.log('The IBAN is valid');
}
getError()
If the IBAN is invalid, one of the following errors will be returned as a string:
INVALID_COUNTRY
INVALID_LENGTH
INVALID_FORMAT
CHECKSUM_FAILED
example:
let iban = new IBAN('GB82 WEST 1234');
if (!iban.isValid()) {
console.log(!iban.getError()); //prints INVALID_LENGTH
}
getOriginal()
Returns the original unformatted IBAN that was used to instantiate the object.
example:
let iban = new IBAN('GB82 weST 123456987654 32');
let unformatted = iban.getOriginal()
console.log(unformatted); //prints GB82 weST 123456987654 32
toElectronicFormat()
Returns the IBAN capitalized with all spaces removed.
example:
let iban = new IBAN('GB82 weST 123456987654 32');
let formatted = iban.toElectronicFormat()
console.log(formatted); //prints GB82WEST12345698765432
toPrintFormat()
Returns the IBAN capitalized with spaces placed as per country format.
example:
let iban = new IBAN('GB82 weST 123456987654 32');
let formatted = iban.toPrintFormat()
console.log(formatted); //prints GB82 WEST 1234 5698 7654 32
getBBAN()
Returns the BBAN (Basic Bank Account Number) capitalized with all spaces removed.
example:
let iban = new IBAN('GB82 WeST 1234 5698 7654 32');
let bban = iban.getBBAN()
console.log(bban); //prints WEST12345698765432
getFields()
Returns an object with extracted information from a valid IBAN. Empty keys will not be returned:
{
countryCode: string;
country: string;
checkDigits: string;
accountNumber?: string;
currencyCode?: string;
ownerAccountNumber?: string;
accountNumberPrefix?: string;
bicBankCode?: string;
branchCode?: string;
accountType?: string;
nationalCheckDigit?: string;
}
example:
let iban = new IBAN('BA39 1290 0794 0102 8494');
let fields = iban.getFields()
console.log(fields);
/* This will output:
{
countryCode: 'BA',
country: 'Bosnia and Herzegovina',
checkDigits: '39',
accountNumber: '94010284',
bankCode: '129',
branchCode: '007',
nationalCheckDigit: '94',
}
*/
random()
Generate a random IBAN number and return it as a string in print format. You can optionally pass the country code to specify a random IBAN for that country
example (random country):
let iban = IBAN.random();
console.log(iban); //example output: GB82 WEST 1234 5698 7654 32
example (specified country):
let iban = IBAN.random('IT');
console.log(iban); //example output: IT60 X054 2811 1010 0000 0123 456