ir-banks-info
v1.2.1
Published
A utility library for validating Iranian bank card numbers and IBANs, and retrieving bank details such as name and logo using IBAN or card number
Maintainers
Readme
Live Demo
Features
- Identify Iranian Bank (Name & Logo) from Card Number.
- Identify Iranian Bank (Name & Logo) from Sheba(IBAN).
- Validate Iran’s Sheba (IBAN) Number.
- Validate Iranian Bank Card Number.
Install
Install the ir-banks-info package in your project using yarn or npm.
$ npm install --save ir-banks-infoor
$ yarn add ir-banks-infoNote:
ir-banks-inforeturns the bank logo as an inline data URI string (data:image/svg+xml,...), not a file path or React component. It renders directly in an<img src={...}>with no extra setup — no static files to serve, and it works offline.
Usage
Iranian Bank (Name & Logo) from Sheba(IBAN)
import { getBankInfoWithSheba } from 'ir-banks-info'
getBankInfoWithSheba('IR740190000000306872721006')
/*
output:
{
code: '019',
nickname: 'saderat',
name: 'Saderat Bank',
persianName: 'بانک صادرات ایران',
logo: 'data:image/svg+xml,%3Csvg%20...', // inline SVG data URI
}
*/Iranian Bank (Name & Logo) from Card Number
import { getBankInfoWithCardNumber } from 'ir-banks-info'
getBankInfoWithCardNumber('603769')
//or
getBankInfoWithCardNumber('6037697456637302')
/*
output:
{
name: 'بانک صادرات ایران',
logo: 'data:image/svg+xml,%3Csvg%20...', // inline SVG data URI
}
*/Validate Sheba (IBAN)
import { isShebaValid } from 'ir-banks-info'
isShebaValid('740190000000306872721006') //true
isShebaValid('IR740190000000306872721006') //true
isShebaValid('ir740190000000306872721006') //true
isShebaValid('IR740190000000306872721') //false
isShebaValid('IR740190000000306872721456') //false
isShebaValid('BH740190000000306872721456') //falseValidate Card Number
import { isCardNumberValid } from 'ir-banks-info'
isCardNumberValid('6037697456637302') //true
isCardNumberValid('6219861900290940') //true
isCardNumberValid('6219861900290941') //false
isCardNumberValid('1234567891234569') //false
isCardNumberValid('6219861') //false