![Namecheap Takes Down Polyfill.io Service Following Supply Chain Attack](https://cdn.sanity.io/images/cgdhsj6q/production/6af25114feaaac7179b18127c83327568ff592d1-1024x1024.webp?w=800&fit=max&auto=format)
Security News
Namecheap Takes Down Polyfill.io Service Following Supply Chain Attack
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
clabe-validator
Advanced tools
Readme
<img src=https://centerkey.com/graphics/center-key-logo.svg align=right width=200 alt=logo>
JavaScript library to analyze or create a CLABE number for a Mexican bank account
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
Try it out:
https://centerkey.com/clabe
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.5/dist/clabe.min.js></script>
Install package for node:
$ npm install clabe-validator
Import package:
const clabe = require('clabe-validator');
Note: Release v1.4.0 contains a significant number of bank and city code additions plus updates to reflect financial institution mergers and name changes.
Pass the CLABE number as an 18-character string into clabe.validate(clabeNum)
.
const clabeNum = '002010077777777771';
const clabeCheck = clabe.validate(clabeNum);
console.log(clabeCheck.ok ? '¡Que bueno!' : '¡Muy mal!');
console.log('Your bank: ' + clabeCheck.bank);
{
ok: true,
error: null,
formatOk: true,
tag: 'BANAMEX',
bank: 'Banco Nacional de México, S.A.',
city: 'Aguascalientes MX-AGU',
account: '07777777777'
}
{
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).
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 |
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
The TypeScript Declaration File file is clabe.d.ts in the dist folder.
The clabe.validate(clabeNum: string)
function returns a ClabeCheck
object:
type ClabeCheck = {
ok: boolean,
error: string | null,
formatOk: boolean,
message: string,
tag: string | null,
bank: string | null,
city: string | null,
account: string,
code: { bank: string, city: string },
checksum: number | null,
};
Example TypeScript usage with explicit types:
import { clabe, ClabeCheck } from 'clabe-validator';
const clabeNum: string = '002010077777777771';
const clabeCheck: ClabeCheck = clabe.validate(clabeNum); //{ ok: true, error: null, ... }
const bankCode: string = clabeCheck.code.bank; //'002'
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.
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.
FAQs
Analyze or create a CLABE number for a Mexican bank account (written in functional TypeScript)
The npm package clabe-validator receives a total of 2,427 weekly downloads. As such, clabe-validator popularity was classified as popular.
We found that clabe-validator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.
Security News
A JavaScript library maintainer is under fire after merging a controversial PR to support legacy versions of Node.js.