/clabe-validator

🇲🇽 CLABE Validator

Primary LanguageJavaScriptMIT LicenseMIT

CLABE Validator

logo

JavaScript library to analyze or create a CLABE number for a Mexican bank account

License:MIT npm Dependencies Vulnerabilities Hits Build

CLABE (Clave Bancaria Estandarizada — Spanish for "standardized banking code") is a banking standard from the Mexican Bank Association (Asociación de Bancos de México — ABM) for uniform numbering of bank accounts.  CLABE numbers are 18 digits long.  See: https://en.wikipedia.org/wiki/CLABE

A) Online form

Try it out:
https://centerkey.com/clabe

B) Setup

Browser

Include in a web page:

<script src=clabe.min.js></script>

or from the jsdelivr.com CDN:

<script src=https://cdn.jsdelivr.net/npm/clabe-validator@1.3/dist/clabe.min.js></script>

node

Install package:

$ npm install clabe-validator

Import package:

const clabe = require('clabe-validator');

C) Validator usage

Pass the CLABE number as an 18-character string into clabe.validate(clabeNum).

1. Example JavaScript code

const clabeNum = '002010077777777771';
const clabeCheck = clabe.validate(clabeNum);
console.log(clabeCheck.ok ? '¡Que bueno!' : '¡Muy mal!');
console.log('Your bank: ' + clabeCheck.bank);

2. Example JSON result for a valid CLABE number

{
   ok:       true,
   error:    null,
   formatOk: true,
   tag:      'BANAMEX',
   bank:     'Banco Nacional de México, S.A.',
   city:     'Aguascalientes',
   account:  '07777777777'
}

3. Example JSON result for an invalid CLABE number

{
   ok:       false,
   formatOk: true,
   error:    'invalid-city',
   message:  'Invalid city code: 000'
}

The formatOk field indicates if the CLABE's length and checksum are both valid (even if the bank code or city code are invalid).

4. Possible errors

Error code Error message Format Ok
invalid-length Must be exactly 18 digits long false
invalid-characters Must be only numeric digits (no letters) false
invalid-checksum Invalid checksum, last digit should be: [DIGIT] false
invalid-bank Invalid bank code: [CODE] true
invalid-city Invalid city code: [CODE] true

D) Calculator usage

Pass the bank code, city code, and account number into clabe.calculate(bankCode, cityCode, accountNumber) and get the 18-character CLABE number back.

const clabeNum = clabe.calculate(2, 10, 7777777777);
console.log(clabeNum === '002010077777777771');  //true

E) Contributor Notes

To be a contributor, fork the project and run the commands npm install and npm test on your local clone.  Make your edits and rerun the tests.  Pull requests welcome.

Pull requests (PRs) should not update the version number in package.json or any files in the dist folder.  The version number and dist files are all updated as part of the release process.

Issues labeled "good first issue" make it easy for first time contributors to participate.  Only submit a PR for one of these issues if you're new to this project.



Feel free to submit questions at:
github.com/center-key/clabe-validator/issues

CLABE Validator code is open source under the MIT License, and the documentation is published under the CC BY-SA 4.0 license.