Socket
Socket
Sign inDemoInstall

clabe-validator

Package Overview
Dependencies
0
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.3.2 to 1.3.3

28

clabe.js

@@ -7,13 +7,12 @@ // CLABE Validator -- MIT License

computeChecksum: clabeNum17 => {
computeChecksum: (clabeNum17) => {
// Returns the checksum calculated from the first 17 characters of CLABE number.
// Example:
// const checksum = clabe.computeChecksum('00201007777777777'); //value: 1
let sum = 0;
const add = (digit, index) => sum += (parseInt(digit) * [3, 7, 1][index % 3]) % 10;
clabeNum17.split('').slice(0, 17).forEach(add);
return (10 - (sum % 10)) % 10;
const add = (sum, digit, i) => sum + (parseInt(digit) * [3, 7, 1][i % 3]) % 10;
const compute = () => (10 - (clabeNum17.split('').slice(0, 17).reduce(add, 0) % 10)) % 10;
return /^[0-9]{17,18}$/.test(clabeNum17) ? compute() : null;
},
validate: clabeNum => {
validate: (clabeNum) => {
// Returns information in a map (object literal) about the CLABE number.

@@ -31,10 +30,10 @@ // Example:

throw 'clabe.validator.check(clabeNum) -- Expected string, got: ' + typeof clabeNum;
const bankCode = clabeNum.substr(0, 3);
const cityCode = clabeNum.substr(3, 3);
const account = clabeNum.substr(6, 11);
const checksum = parseInt(clabeNum.substr(17, 1));
const bankCode = clabeNum.substring(0, 3);
const cityCode = clabeNum.substring(3, 6);
const account = clabeNum.substring(6, 17);
const checksum = parseInt(clabeNum.substring(17, 18));
const makeCitiesMap = () => {
clabe.citiesMap = {};
const prefix = code => clabe.citiesMap[code] ? clabe.citiesMap[code] + ', ' : '';
const addCity = city => clabe.citiesMap[city[0]] = prefix(city[0]) + city[1]; //0: code, 1: name
const prefix = (code) => clabe.citiesMap[code] ? clabe.citiesMap[code] + ', ' : '';
const addCity = (city) => clabe.citiesMap[city[0]] = prefix(city[0]) + city[1]; //0: code, 1: name
clabe.cities.forEach(addCity);

@@ -46,4 +45,4 @@ };

const city = clabe.citiesMap[parseInt(cityCode)];
const realChecksum = clabe.computeChecksum(clabeNum);
const getValidationInfo = () => {
const realChecksum = clabe.computeChecksum(clabeNum);
const validationInfo =

@@ -69,3 +68,4 @@ clabeNum.length !== 18 ? { invalid: 'length', data: '' } :

account: account,
code: { bank: bankCode, city: cityCode }
code: { bank: bankCode, city: cityCode },
checksum: realChecksum
};

@@ -72,0 +72,0 @@ },

@@ -1,18 +0,17 @@

//! CLABE Validator v1.3.2 ~ github.com/center-key/clabe-validator ~ MIT License
//! CLABE Validator v1.3.3 ~ github.com/center-key/clabe-validator ~ MIT License
const clabe = {
version: '1.3.2',
version: '1.3.3',
computeChecksum: clabeNum17 => {
computeChecksum: (clabeNum17) => {
// Returns the checksum calculated from the first 17 characters of CLABE number.
// Example:
// const checksum = clabe.computeChecksum('00201007777777777'); //value: 1
let sum = 0;
const add = (digit, index) => sum += (parseInt(digit) * [3, 7, 1][index % 3]) % 10;
clabeNum17.split('').slice(0, 17).forEach(add);
return (10 - (sum % 10)) % 10;
const add = (sum, digit, i) => sum + (parseInt(digit) * [3, 7, 1][i % 3]) % 10;
const compute = () => (10 - (clabeNum17.split('').slice(0, 17).reduce(add, 0) % 10)) % 10;
return /^[0-9]{17,18}$/.test(clabeNum17) ? compute() : null;
},
validate: clabeNum => {
validate: (clabeNum) => {
// Returns information in a map (object literal) about the CLABE number.

@@ -30,10 +29,10 @@ // Example:

throw 'clabe.validator.check(clabeNum) -- Expected string, got: ' + typeof clabeNum;
const bankCode = clabeNum.substr(0, 3);
const cityCode = clabeNum.substr(3, 3);
const account = clabeNum.substr(6, 11);
const checksum = parseInt(clabeNum.substr(17, 1));
const bankCode = clabeNum.substring(0, 3);
const cityCode = clabeNum.substring(3, 6);
const account = clabeNum.substring(6, 17);
const checksum = parseInt(clabeNum.substring(17, 18));
const makeCitiesMap = () => {
clabe.citiesMap = {};
const prefix = code => clabe.citiesMap[code] ? clabe.citiesMap[code] + ', ' : '';
const addCity = city => clabe.citiesMap[city[0]] = prefix(city[0]) + city[1]; //0: code, 1: name
const prefix = (code) => clabe.citiesMap[code] ? clabe.citiesMap[code] + ', ' : '';
const addCity = (city) => clabe.citiesMap[city[0]] = prefix(city[0]) + city[1]; //0: code, 1: name
clabe.cities.forEach(addCity);

@@ -45,4 +44,4 @@ };

const city = clabe.citiesMap[parseInt(cityCode)];
const realChecksum = clabe.computeChecksum(clabeNum);
const getValidationInfo = () => {
const realChecksum = clabe.computeChecksum(clabeNum);
const validationInfo =

@@ -68,3 +67,4 @@ clabeNum.length !== 18 ? { invalid: 'length', data: '' } :

account: account,
code: { bank: bankCode, city: cityCode }
code: { bank: bankCode, city: cityCode },
checksum: realChecksum
};

@@ -71,0 +71,0 @@ },

@@ -1,2 +0,2 @@

//! CLABE Validator v1.3.2 ~ github.com/center-key/clabe-validator ~ MIT License
function _typeof(a){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}var clabe={version:"1.3.2",computeChecksum:function c(a){var b=0;return a.split("").slice(0,17).forEach(function d(a,c){return b+=parseInt(a)*[3,7,1][c%3]%10}),(10-b%10)%10},validate:function j(a){if("string"!=typeof a)throw"clabe.validator.check(clabeNum) -- Expected string, got: "+_typeof(a);var b=a.substr(0,3),c=a.substr(3,3),d=a.substr(6,11),e=parseInt(a.substr(17,1));clabe.citiesMap||function b(){clabe.citiesMap={};var a=function(a){return clabe.citiesMap[a]?clabe.citiesMap[a]+", ":""};clabe.cities.forEach(function c(b){return clabe.citiesMap[b[0]]=a(b[0])+b[1]})}();var f=clabe.banksMap[parseInt(b)]||{},g=clabe.citiesMap[parseInt(c)],h=function i(){var d=clabe.computeChecksum(a),h=18===a.length?/[^0-9]/.test(a)?{invalid:"characters",data:""}:e===d?f.tag?g?{invalid:null}:{invalid:"city",data:c}:{invalid:"bank",data:b}:{invalid:"checksum",data:d}:{invalid:"length",data:""};return h}(),i=!h.invalid;return{ok:i,error:i?null:"invalid-"+h.invalid,formatOk:i||["bank","city"].includes(h.invalid),message:i?"Valid":{length:"Must be exactly 18 digits long",characters:"Must be only numeric digits (no letters)",checksum:"Invalid checksum, last digit should be: ",bank:"Invalid bank code: ",city:"Invalid city code: "}[h.invalid]+h.data,tag:f.tag,bank:f.name,city:g,account:d,code:{bank:b,city:c}}},calculate:function g(a,b,c){var d=function(a,b){return a.length<b?d("0"+a,b):a},e=function(a,b){return d(""+a,b).slice(-b)},f=e(a,3)+e(b,3)+e(c,11);return f+clabe.computeChecksum(f)},banksMap:{2:{tag:"BANAMEX",name:"Banco Nacional de M\xE9xico, S.A."},6:{tag:"BANCOMEXT",name:"Banco Nacional de Comercio Exterior"},9:{tag:"BANOBRAS",name:"Banco Nacional de Obras y Servicios P\xFAblicos"},12:{tag:"BBVA BANCOMER",name:"BBVA Bancomer, S.A."},14:{tag:"SANTANDER",name:"Banco Santander, S.A."},19:{tag:"BANJERCITO",name:"Banco Nacional del Ej\xE9rcito, Fuerza A\xE9rea y Armada"},21:{tag:"HSBC",name:"HSBC M\xE9xico, S.A."},22:{tag:"GE MONEY",name:"GE Money Bank, S.A."},30:{tag:"BAJ\xCDO",name:"Banco del Baj\xEDo, S.A."},32:{tag:"IXE",name:"IXE Banco, S.A."},36:{tag:"INBURSA",name:"Banco Inbursa, S.A."},37:{tag:"INTERACCIONES",name:"Banco Interacciones, S.A."},42:{tag:"MIFEL",name:"Banca Mifel, S.A."},44:{tag:"SCOTIABANK",name:"Scotiabank Inverlat, S.A."},58:{tag:"BANREGIO",name:"Banco Regional de Monterrey, S.A."},59:{tag:"INVEX",name:"Banco Invex, S.A."},60:{tag:"BANSI",name:"Bansi, S.A."},62:{tag:"AFIRME",name:"Banca Afirme, S.A."},72:{tag:"BANORTE",name:"Banco Mercantil del Norte, S.A."},102:{tag:"ABNAMRO",name:"ABN AMRO Bank M\xE9xico, S.A."},103:{tag:"AMERICAN EXPRESS",name:"American Express Bank (M\xE9xico), S.A."},106:{tag:"BAMSA",name:"Bank of America M\xE9xico, S.A."},108:{tag:"TOKYO",name:"Bank of Tokyo-Mitsubishi UFJ (M\xE9xico), S.A."},110:{tag:"JP MORGAN",name:"Banco J.P. Morgan, S.A."},112:{tag:"BMONEX",name:"Banco Monex, S.A."},113:{tag:"VE POR MAS",name:"Banco Ve por Mas, S.A."},116:{tag:"ING",name:"ING Bank (M\xE9xico), S.A."},124:{tag:"DEUTSCHE",name:"Deutsche Bank M\xE9xico, S.A."},126:{tag:"CREDIT SUISSE",name:"Banco Credit Suisse (M\xE9xico), S.A."},127:{tag:"AZTECA",name:"Banco Azteca, S.A."},128:{tag:"AUTOFIN",name:"Banco Autofin M\xE9xico, S.A."},129:{tag:"BARCLAYS",name:"Barclays Bank M\xE9xico, S.A."},130:{tag:"COMPARTAMOS",name:"Banco Compartamos, S.A."},131:{tag:"FAMSA",name:"Banco Ahorro Famsa, S.A."},132:{tag:"BMULTIVA",name:"Banco Multiva, S.A."},133:{tag:"PRUDENTIAL",name:"Prudencial Bank, S.A."},134:{tag:"WAL-MART",name:"Banco Wal Mart de M\xE9xico Adelante, S.A."},135:{tag:"NAFIN",name:"Nacional Financiera, S.N.C."},136:{tag:"REGIONAL",name:"Banco Regional, S.A."},137:{tag:"BANCOPPEL",name:"BanCoppel, S.A."},138:{tag:"ABC CAPITAL",name:"ABC Capital, S.A. I.B.M."},139:{tag:"UBS BANK",name:"UBS Banco, S.A."},140:{tag:"F\xC1CIL",name:"Banco F\xE1cil, S.A."},141:{tag:"VOLKSWAGEN",name:"Volkswagen Bank S.A. Instituci\xF3n de Banca M\xFAltiple"},143:{tag:"CIBANCO",name:"Consultor\xEDa Internacional Banco, S.A."},145:{tag:"BBASE",name:"Banco BASE, S.A. de I.B.M."},147:{tag:"BANKAOOL",name:"Bankaool, S.A., Instituci\xF3n de Banca M\xFAltiple"},148:{tag:"PAGATODO",name:"Banco PagaTodo S.A., Instituci\xF3n de Banca M\xFAltiple"},150:{tag:"BIM",name:"Banco Inmobiliario Mexicano, S.A., Instituci\xF3n de Banca M\xFAltiple"},156:{tag:"SABADELL",name:"Banco Sabadell, S.A. I.B.M."},166:{tag:"BANSEFI",name:"Banco del Ahorro Nacional y Servicios Financieros, S.N.C."},168:{tag:"HIPOTECARIA FEDERAL",name:"Sociedad Hipotecaria Federal, S.N.C."},600:{tag:"MONEXCB",name:"Monex Casa de Bolsa, S.A. de C.V."},601:{tag:"GBM",name:"GBM Grupo Burs\xE1til Mexicano, S.A. de C.V."},602:{tag:"MASARI CC.",name:"Masari Casa de Cambio, S.A. de C.V."},604:{tag:"C.B. INBURSA",name:"Inversora Burs\xE1til, S.A. de C.V."},605:{tag:"VALU\xC9",name:"Valu\xE9, S.A. de C.V., Casa de Bolsa"},606:{tag:"CB BASE",name:"Base Internacional Casa de Bolsa, S.A. de C.V."},607:{tag:"TIBER",name:"Casa de Cambio Tiber, S.A. de C.V."},608:{tag:"VECTOR",name:"Vector Casa de Bolsa, S.A. de C.V."},610:{tag:"B&B",name:"B y B Casa de Cambio, S.A. de C.V."},611:{tag:"INTERCAM",name:"Intercam Casa de Cambio, S.A. de C.V."},613:{tag:"MULTIVA",name:"Multivalores Casa de Bolsa, S.A. de C.V. Multiva Gpo. Fin."},614:{tag:"ACCIVAL",name:"Acciones y Valores Banamex, S.A. de C.V., Casa de Bolsa"},615:{tag:"MERRILL LYNCH",name:"Merrill Lynch M\xE9xico, S.A. de C.V., Casa de Bolsa"},616:{tag:"FINAMEX",name:"Casa de Bolsa Finamex, S.A. de C.V."},617:{tag:"VALMEX",name:"Valores Mexicanos Casa de Bolsa, S.A. de C.V."},618:{tag:"\xDANICA",name:"\xDAnica Casa de Cambio, S.A. de C.V."},619:{tag:"ASEGURADORA MAPFRE",name:"MAPFRE Tepeyac S.A."},620:{tag:"AFORE PROFUTURO",name:"Profuturo G.N.P., S.A. de C.V."},621:{tag:"CB ACTINBER",name:"Actinver Casa de Bolsa, S.A. de C.V."},622:{tag:"ACTINVE SI",name:"Actinver S.A. de C.V."},623:{tag:"SKANDIA",name:"Skandia Vida S.A. de C.V."},624:{tag:"CONSULTOR\xCDA",name:"Consultor\xEDa Internacional Casa de Cambio, S.A. de C.V."},626:{tag:"CBDEUTSCHE",name:"Deutsche Securities, S.A. de C.V."},627:{tag:"ZURICH",name:"Zurich Compa\xF1\xEDa de Seguros, S.A."},628:{tag:"ZURICHVI",name:"Zurich Vida, Compa\xF1\xEDa de Seguros, S.A."},629:{tag:"HIPOTECARIA SU CASITA",name:"Hipotecaria su Casita, S.A. de C.V."},630:{tag:"C.B. INTERCAM",name:"Intercam Casa de Bolsa, S.A. de C.V."},631:{tag:"C.B. VANGUARDIA",name:"Vanguardia Casa de Bolsa, S.A. de C.V."},632:{tag:"BULLTICK C.B.",name:"Bulltick Casa de Bolsa, S.A. de C.V."},633:{tag:"STERLING",name:"Sterling Casa de Cambio, S.A. de C.V."},634:{tag:"FINCOMUN",name:"Fincom\xFAn, Servicios Financieros Comunitarios, S.A. de C.V."},636:{tag:"HDI SEGUROS",name:"HDI Seguros, S.A. de C.V."},637:{tag:"ORDER",name:"OrderExpress Casa de Cambio , S.A. de C.V. AAC"},638:{tag:"AKALA",name:"Akala, S.A. de C.V., Sociedad Financiera Popular"},640:{tag:"JP MORGAN C.B.",name:"J.P. Morgan Casa de Bolsa, S.A. de C.V."},642:{tag:"REFORMA",name:"Operadora de Recursos Reforma, S.A. de C.V."},646:{tag:"STP",name:"Sistema de Transferencias y Pagos STP, S.A. de C.V., SOFOM E.N.R."},647:{tag:"TELECOMM",name:"Telecomunicaciones de M\xE9xico"},648:{tag:"EVERCORE",name:"Evercore Casa de Bolsa, S.A. de C.V."},649:{tag:"SKANDIA",name:"Skandia Operadora S.A. de C.V."},651:{tag:"SEGMTY",name:"Seguros Monterrey New York Life, S.A de C.V."},652:{tag:"ASEA",name:"Soluci\xF3n Asea, S.A. de C.V., Sociedad Financiera Popular"},653:{tag:"KUSPIT",name:"Kuspit Casa de Bolsa, S.A. de C.V."},655:{tag:"SOFIEXPRESS",name:"J.P. SOFIEXPRESS, S.A. de C.V., S.F.P."},656:{tag:"UNAGRA",name:"UNAGRA, S.A. de C.V., S.F.P."},659:{tag:"OPCIONES EMPRESARIALES DEL NOROESTE",name:"Opciones Empresariales Del Noreste, S.A. DE C.V."},670:{tag:"LIBERTAD",name:"Libertad Servicios Financieros, S.A. De C.V."},846:{tag:"STP",name:"Sistema de Transferencias y Pagos STP"},901:{tag:"CLS",name:"CLS Bank International"},902:{tag:"INDEVAL",name:"SD. INDEVAL, S.A. de C.V."},999:{tag:"N/A",name:"N/A"}},cities:[[10,"Aguascalientes"],[12,"Calvillo"],[14,"Jes\xFAs Mar\xEDa"],[20,"Mexicali"],[22,"Ensenada"],[27,"Tecate"],[27,"Tijuana"],[28,"La Mesa"],[28,"Rosarito"],[28,"Tijuana [alternate]"],[40,"La Paz"],[41,"Cabo San Lucas"],[42,"Ciudad Constituci\xF3n"],[43,"Guerrero Negro"],[45,"San Jos\xE9 del Cabo"],[46,"Santa Rosal\xEDa"],[50,"Campeche"],[51,"Calkin\xED"],[52,"Ciudad del Carmen"],[53,"Champot\xF3n"],[60,"G\xF3mez Palacio"],[60,"Torre\xF3n"],[62,"Ciudad Acu\xF1a"],[68,"Monclova"],[71,"Nava"],[72,"Nueva Rosita"],[74,"Parras de la Fuente"],[75,"Piedras Negras"],[76,"Ramos Arizpe"],[77,"Sabinas"],[78,"Saltillo"],[80,"San Pedro de las Colonias"],[90,"Colima"],[95,"Manzanillo"],[97,"Tecom\xE1n"],[100,"Ter\xE1n"],[100,"Tuxtla Guti\xE9rrez"],[103,"Arriaga"],[107,"Cintalapa"],[109,"Comit\xE1n"],[109,"Villa Las Rosas"],[111,"Chiapa de Corso"],[113,"F. Comalapa"],[114,"Huixtla"],[123,"Ocosingo"],[124,"Ocozocuautla"],[125,"Palenque"],[126,"Pichucalco"],[127,"Pijijiapan"],[128,"Reforma"],[130,"San Crist\xF3bal de las Casas"],[131,"Simojovel"],[133,"Tapachula"],[135,"Tonala"],[137,"Venustiano Carranza"],[138,"Villa Flores"],[140,"Yajal\xF3n"],[150,"Chihuahua"],[150,"Ciudad Delicias"],[152,"Ciudad An\xE1huac"],[155,"Ciudad Camargo"],[158,"Ciudad Cuauht\xE9moc"],[161,"Ciudad Guerrero"],[162,"Parral"],[163,"Ciudad Jim\xE9nez"],[164,"Ciudad Ju\xE1rez"],[165,"Ciudad Madera"],[167,"El Molino de Namiquipa"],[168,"Nuevo Casas Grandes"],[180,"Atizapan"],[180,"Chalco"],[180,"Ciudad de M\xE9xico"],[180,"Coacalco"],[180,"Cuautitl\xE1n Izcalli"],[180,"Cuautitl\xE1n"],[180,"Ecatepec"],[180,"Huehuetoca"],[180,"Huixquilucan"],[180,"Ixtapaluca"],[180,"Los Reyes La Paz"],[180,"Naucalpan"],[180,"Nezahualc\xF3yotl"],[180,"Tecamac"],[180,"Teotihuac\xE1n"],[180,"Texcoco"],[180,"Tlalnepantla"],[190,"Durango"],[198,"N/A"],[201,"Tepehuanes"],[202,"Vicente Guerrero"],[210,"Guanajuato"],[211,"Abasolo"],[212,"Ac\xE1mbaro"],[213,"Apaseo el Alto"],[214,"Apaseo el Grande"],[215,"Celaya"],[216,"Comonfort"],[217,"Coroneo"],[218,"Cortazar"],[219,"Cuer\xE1maro"],[220,"Dolores Hidalgo"],[222,"Irapuato"],[223,"Jaral del Progreso"],[224,"Jer\xE9cuaro"],[225,"Le\xF3n"],[226,"Cd. Manuel Doblado"],[227,"Morole\xF3n"],[229,"P\xE9njamo"],[232,"Romita"],[233,"Salamanca"],[234,"Salvatierra"],[236,"San Felipe"],[237,"Pur\xEDsima de Bustos"],[237,"San Francisco del Rinco\xF3n"],[238,"San Jos\xE9 Iturbide"],[239,"San Luis de la Paz"],[240,"San Miguel Allende"],[244,"Silao"],[247,"Uriangato"],[248,"Valle de Santiago"],[249,"Yuriria"],[260,"Chilpancingo"],[261,"Acapulco"],[263,"Arcelia"],[264,"Atoyac de \xC1lvarez"],[266,"Ciudad Altamirano"],[267,"Coyuca de Ben\xEDtez"],[270,"Chilapa"],[271,"Huitzuco"],[272,"Iguala"],[272,"La Sabana"],[274,"Cuajinicuilapa"],[274,"Ometepec"],[275,"San Marcos"],[276,"Taxco"],[278,"Teloloapan"],[281,"Tlapa"],[282,"Ixtapa Zihuatanejo"],[282,"Zihuatanejo"],[290,"Pachuca"],[291,"Actopan"],[292,"Apam"],[293,"Atotonilco el Grande"],[294,"Ciudad Sahag\xFAn"],[294,"Teocaltiche"],[295,"Cuautepec"],[296,"Huejutla"],[297,"Huichapan"],[298,"Ixmiquilpan"],[303,"Progreso de Obreg\xF3n"],[305,"Tepeapulco"],[308,"Tizayuca"],[311,"Tula de Allende"],[312,"Tulancingo"],[313,"Zacualtip\xE1n"],[314,"Zimap\xE1n"],[320,"El Salto"],[320,"Guadalajara"],[320,"San Pedro Tlaquepaque"],[320,"Tlajomulco"],[320,"Tonala [alternate]"],[320,"Zapopan"],[326,"Ameca"],[327,"Arandas"],[330,"Atotonilco el Alto"],[331,"Atequiza"],[333,"Autl\xE1n"],[334,"Azteca"],[340,"Casimiro Castillo"],[341,"Cihuatl\xE1n"],[342,"Ciudad Guzm\xE1n"],[346,"Chapala"],[348,"El Grullo"],[355,"Ixtlahuac\xE1n del R\xEDo"],[356,"Jalostotitl\xE1n"],[357,"Jamay"],[361,"La Barca"],[362,"Lagos de Moreno"],[370,"Ocotl\xE1n"],[373,"Pihuamo"],[375,"Las Juntas"],[375,"Nuevo Vallarta"],[375,"Pitillal"],[375,"Puerto Vallarta"],[381,"San Juan de los Lagos"],[382,"N/A"],[384,"San Miguel el Alto"],[385,"San Patricio Melaque"],[386,"Sayula"],[387,"Tala"],[389,"Tamazula de Gordiano"],[391,"Tecalitl\xE1n"],[396,"Tepatitl\xE1n"],[397,"Tequila"],[403,"Tototl\xE1n"],[404,"T\xFAxpam"],[411,"Villa Hidalgo"],[413,"Zacoalco de Torres"],[414,"Zapotiltic"],[416,"Zapotlanejo"],[420,"Toluca"],[421,"Acambay"],[422,"Almoloya de Ju\xE1rez"],[424,"Amecameca"],[425,"Apaxco"],[426,"Atlacomulco"],[428,"Coatepec de Harinas"],[430,"Chicoloapan"],[431,"Chiconcuac"],[432,"El Oro"],[433,"Ixtapan de la Sal"],[434,"Ixtlahuaca"],[435,"Jilotepec"],[438,"Lerma"],[441,"Metepec"],[443,"Otumba"],[445,"San Mateo Atenco"],[446,"Tejupilco"],[448,"Temascaltepec"],[449,"Temoaya"],[450,"Tenancingo"],[451,"Tenago del Valle"],[453,"Santiago Tiangistenco"],[455,"Tultepec"],[456,"Tultitl\xE1n"],[457,"Valle de Bravo"],[460,"Villa Nicol\xE1s Romero"],[463,"Zumpango"],[470,"Morelia"],[472,"Aguililla"],[476,"Apatzing\xE1n"],[480,"Ciudad Hidalgo"],[483,"Cotija"],[484,"Cuitzeo"],[492,"Huetamo"],[493,"Jacona"],[494,"Jiquilpan"],[496,"La Piedad"],[497,"L\xE1zaro C\xE1rdenas"],[498,"Los Reyes"],[499,"Maravat\xEDo"],[501,"Nueva Italia"],[506,"P\xE1tzcuaro"],[508,"Pur\xE9pero"],[509,"Puruandiro"],[512,"Sahuayo"],[515,"Tac\xE1mbaro"],[517,"Tanganc\xEDcuaro"],[519,"Tepalcatepec"],[523,"Tlazazalca"],[528,"Uruapan"],[533,"Yur\xE9cuaro"],[534,"Zacapu"],[535,"Zamora"],[536,"Zinap\xE9cuaro"],[537,"Zit\xE1cuaro"],[540,"Cuernavaca"],[542,"Cuautla"],[542,"Oaxtepec, Morelos"],[543,"Jiutepec"],[544,"Jojutla"],[545,"Puente de Ixtla"],[546,"Temixco"],[548,"Tetecala"],[549,"Yautepec"],[552,"Zacatepec"],[560,"Tepic"],[561,"Acaponeta"],[562,"Ahuacatl\xE1n"],[564,"Compostela"],[566,"Ixtl\xE1n del R\xEDo"],[571,"San Blas"],[573,"Santiago Ixcuintla"],[575,"T\xFAxpam [alternate]"],[580,"Apodaca"],[580,"Cadereyta"],[580,"Cd. Guadalupe"],[580,"General Escobedo"],[580,"Monterrey"],[580,"San Nicol\xE1s de los Garza"],[580,"San Pedro Garza Garc\xEDa"],[580,"Santa Catarina"],[583,"Allende"],[592,"General Zuazua"],[595,"Linares"],[597,"Montemorelos"],[599,"Sabinas Hidalgo"],[600,"Salinas Victoria"],[601,"El Cercado"],[601,"Villa de Santiago"],[610,"Oaxaca"],[613,"Tlaxiaco"],[614,"Huajuapan de Le\xF3n"],[616,"Ixtepec"],[617,"Juchit\xE1n"],[619,"Loma Bonita"],[620,"Mat\xEDas Romero"],[621,"Miahuatl\xE1n"],[622,"Ocotl\xE1n [alternate]"],[624,"Puerto Escondido"],[626,"Salina Cruz"],[627,"Lagunas"],[628,"Tuxtepec"],[630,"Pochutla"],[631,"San Pedro Tapanatepec"],[632,"Santa Luc\xEDa del Camino"],[634,"Bah\xEDas de Huatulco"],[635,"Santiago Juxtlahuaca"],[636,"Pinotepa Nacional"],[637,"Tehuantepec"],[638,"Tlacolula"],[640,"Zimatl\xE1n"],[650,"Cholula"],[650,"La Resurrecci\xF3n"],[650,"Puebla"],[650,"San Baltazar Campeche"],[651,"N/A"],[652,"Acatzingo"],[654,"Atlixco"],[656,"Cuetzalan"],[659,"Huauchinango"],[662,"Iz\xFAcar de Matamoros"],[667,"San Mart\xEDn Texmelucan"],[668,"San Felipe Hueyotlipan"],[669,"Tecamachalco"],[670,"Tehuac\xE1n"],[671,"San Lorenzo"],[672,"Teziutl\xE1n"],[674,"Xicotepec de Ju\xE1rez"],[676,"Zacatl\xE1n"],[680,"Pedro Escobedo"],[680,"Quer\xE9taro"],[680,"Villa Corregidora"],[681,"Amealco"],[685,"San Juan del R\xEDo"],[686,"Tequisquiapan"],[690,"Chetumal"],[691,"Canc\xFAn"],[691,"Col. Puerto Ju\xE1rez"],[692,"Cozumel"],[693,"N/A"],[694,"Playa del Carmen"],[700,"San Luis Potos\xED"],[703,"Cerritos"],[705,"Ciudad Valles"],[709,"Matehuala"],[711,"R\xEDo Verde"],[716,"Tamu\xEDn"],[730,"Culiac\xE1n"],[735,"Concordia"],[736,"Cosala"],[737,"Choix"],[738,"El Fuerte"],[739,"Escuinapa"],[740,"Guam\xFAchil"],[741,"Guasave"],[743,"Los Mochis"],[743,"Topolobampo"],[744,"Mazatl\xE1n"],[745,"Mocorito"],[746,"Navolato"],[760,"Hermosillo"],[761,"Agua Prieta"],[765,"Caborca"],[766,"Cananea"],[767,"Ciudad Obreg\xF3n"],[767,"Esperanza"],[769,"Empalme"],[770,"Guaymas"],[770,"San Carlos"],[771,"Huatabampo"],[773,"Magdalena"],[776,"Nacozari de Garc\xEDa"],[777,"Navojoa"],[778,"Nogales"],[779,"Puerto Pe\xF1asco"],[780,"San Luis R\xEDo Colorado"],[790,"Tamulte"],[790,"Villa Hermosa"],[792,"C\xE1rdenas"],[793,"Ciudad Pemex"],[794,"Comalcalco"],[796,"Emiliano Zapata"],[797,"Frontera"],[798,"Huimanguillo"],[800,"Jalpa de M\xE9ndez"],[802,"Macuspana"],[803,"Nacajuca"],[804,"Para\xEDso"],[805,"Tacotalpa"],[806,"Teapa"],[807,"Tenosique"],[810,"Ciudad Victoria"],[811,"Altamira"],[813,"Ciudad Madero"],[813,"Tampico"],[814,"Ciudad Mante"],[818,"Matamoros"],[821,"Colombia"],[821,"Nuevo Laredo"],[822,"Reynosa"],[823,"R\xEDo Bravo"],[825,"Soto La Marina"],[826,"Valle Hermoso"],[830,"Tlaxcala"],[832,"Apizaco"],[834,"Santa Ana Chiautempan"],[840,"Jalapa"],[841,"Acayucan"],[843,"Agua Dulce"],[845,"\xC1lamo"],[846,"Altotonga"],[848,"Banderilla"],[849,"Boca del R\xEDo"],[852,"Ciudad Mendoza"],[853,"Coatepec"],[854,"Coatzacoalcos"],[855,"C\xF3rdoba"],[856,"Cosamaloapan"],[860,"Cuitl\xE1huac"],[863,"Fort\xEDn de las Flores"],[864,"Guti\xE9rrez Zamora"],[865,"Huatusco"],[867,"Isla"],[868,"Ixtaczoquitl\xE1n"],[869,"J\xE1ltipan"],[871,"Juan Rodr\xEDguez Clara"],[872,"Villa Jos\xE9 Cardel"],[873,"Las Choapas"],[875,"Naranjos"],[876,"Mart\xEDnez de la Torre"],[877,"Minatitl\xE1n"],[878,"Misantla"],[879,"Nanchital"],[882,"Orizaba"],[885,"Papantla"],[886,"Perote"],[888,"Poza Rica"],[889,"R\xEDo Blanco"],[890,"San Andr\xE9s Tuxtla"],[891,"San Rafael"],[894,"Plat\xF3n S\xE1nchez"],[894,"Tantoyuca"],[895,"Tempoal"],[898,"Tierra Blanca"],[901,"Tlapacoyan"],[903,"T\xFAxpam de Rodr\xEDguez Cano"],[905,"Cd. Industrial Framboyan"],[905,"Veracruz"],[910,"M\xE9rida"],[913,"Motul"],[914,"Oxkutzcab"],[915,"Progreso"],[917,"Ticul"],[918,"Tizim\xEDn"],[920,"Valladolid"],[930,"Zacatecas"],[933,"Fresnillo"],[934,"Guadalupe"],[935,"Jalpa"],[936,"Jerez de G. Salinas"],[938,"Juchipila"],[939,"Loreto"],[946,"Nochistl\xE1n"],[958,"Valpara\xEDso"],[960,"Calera de V. Rosales"]]};"object"===("undefined"==typeof module?"undefined":_typeof(module))&&(module.exports=clabe),"object"===("undefined"==typeof window?"undefined":_typeof(window))&&(window.clabe=clabe);
//! CLABE Validator v1.3.3 ~ github.com/center-key/clabe-validator ~ MIT License
function _typeof(a){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}var clabe={version:"1.3.3",computeChecksum:function c(a){var b=function(a,b,c){return a+parseInt(b)*[3,7,1][c%3]%10};return /^[0-9]{17,18}$/.test(a)?function c(){return(10-a.split("").slice(0,17).reduce(b,0)%10)%10}():null},validate:function k(a){if("string"!=typeof a)throw"clabe.validator.check(clabeNum) -- Expected string, got: "+_typeof(a);var b=a.substring(0,3),c=a.substring(3,6),d=a.substring(6,17),e=parseInt(a.substring(17,18));clabe.citiesMap||function b(){clabe.citiesMap={};var a=function(a){return clabe.citiesMap[a]?clabe.citiesMap[a]+", ":""};clabe.cities.forEach(function c(b){return clabe.citiesMap[b[0]]=a(b[0])+b[1]})}();var f=clabe.banksMap[parseInt(b)]||{},g=clabe.citiesMap[parseInt(c)],h=clabe.computeChecksum(a),i=function i(){var d=18===a.length?/[^0-9]/.test(a)?{invalid:"characters",data:""}:e===h?f.tag?g?{invalid:null}:{invalid:"city",data:c}:{invalid:"bank",data:b}:{invalid:"checksum",data:h}:{invalid:"length",data:""};return d}(),j=!i.invalid;return{ok:j,error:j?null:"invalid-"+i.invalid,formatOk:j||["bank","city"].includes(i.invalid),message:j?"Valid":{length:"Must be exactly 18 digits long",characters:"Must be only numeric digits (no letters)",checksum:"Invalid checksum, last digit should be: ",bank:"Invalid bank code: ",city:"Invalid city code: "}[i.invalid]+i.data,tag:f.tag,bank:f.name,city:g,account:d,code:{bank:b,city:c},checksum:h}},calculate:function g(a,b,c){var d=function(a,b){return a.length<b?d("0"+a,b):a},e=function(a,b){return d(""+a,b).slice(-b)},f=e(a,3)+e(b,3)+e(c,11);return f+clabe.computeChecksum(f)},banksMap:{2:{tag:"BANAMEX",name:"Banco Nacional de M\xE9xico, S.A."},6:{tag:"BANCOMEXT",name:"Banco Nacional de Comercio Exterior"},9:{tag:"BANOBRAS",name:"Banco Nacional de Obras y Servicios P\xFAblicos"},12:{tag:"BBVA BANCOMER",name:"BBVA Bancomer, S.A."},14:{tag:"SANTANDER",name:"Banco Santander, S.A."},19:{tag:"BANJERCITO",name:"Banco Nacional del Ej\xE9rcito, Fuerza A\xE9rea y Armada"},21:{tag:"HSBC",name:"HSBC M\xE9xico, S.A."},22:{tag:"GE MONEY",name:"GE Money Bank, S.A."},30:{tag:"BAJ\xCDO",name:"Banco del Baj\xEDo, S.A."},32:{tag:"IXE",name:"IXE Banco, S.A."},36:{tag:"INBURSA",name:"Banco Inbursa, S.A."},37:{tag:"INTERACCIONES",name:"Banco Interacciones, S.A."},42:{tag:"MIFEL",name:"Banca Mifel, S.A."},44:{tag:"SCOTIABANK",name:"Scotiabank Inverlat, S.A."},58:{tag:"BANREGIO",name:"Banco Regional de Monterrey, S.A."},59:{tag:"INVEX",name:"Banco Invex, S.A."},60:{tag:"BANSI",name:"Bansi, S.A."},62:{tag:"AFIRME",name:"Banca Afirme, S.A."},72:{tag:"BANORTE",name:"Banco Mercantil del Norte, S.A."},102:{tag:"ABNAMRO",name:"ABN AMRO Bank M\xE9xico, S.A."},103:{tag:"AMERICAN EXPRESS",name:"American Express Bank (M\xE9xico), S.A."},106:{tag:"BAMSA",name:"Bank of America M\xE9xico, S.A."},108:{tag:"TOKYO",name:"Bank of Tokyo-Mitsubishi UFJ (M\xE9xico), S.A."},110:{tag:"JP MORGAN",name:"Banco J.P. Morgan, S.A."},112:{tag:"BMONEX",name:"Banco Monex, S.A."},113:{tag:"VE POR MAS",name:"Banco Ve por Mas, S.A."},116:{tag:"ING",name:"ING Bank (M\xE9xico), S.A."},124:{tag:"DEUTSCHE",name:"Deutsche Bank M\xE9xico, S.A."},126:{tag:"CREDIT SUISSE",name:"Banco Credit Suisse (M\xE9xico), S.A."},127:{tag:"AZTECA",name:"Banco Azteca, S.A."},128:{tag:"AUTOFIN",name:"Banco Autofin M\xE9xico, S.A."},129:{tag:"BARCLAYS",name:"Barclays Bank M\xE9xico, S.A."},130:{tag:"COMPARTAMOS",name:"Banco Compartamos, S.A."},131:{tag:"FAMSA",name:"Banco Ahorro Famsa, S.A."},132:{tag:"BMULTIVA",name:"Banco Multiva, S.A."},133:{tag:"PRUDENTIAL",name:"Prudencial Bank, S.A."},134:{tag:"WAL-MART",name:"Banco Wal Mart de M\xE9xico Adelante, S.A."},135:{tag:"NAFIN",name:"Nacional Financiera, S.N.C."},136:{tag:"REGIONAL",name:"Banco Regional, S.A."},137:{tag:"BANCOPPEL",name:"BanCoppel, S.A."},138:{tag:"ABC CAPITAL",name:"ABC Capital, S.A. I.B.M."},139:{tag:"UBS BANK",name:"UBS Banco, S.A."},140:{tag:"F\xC1CIL",name:"Banco F\xE1cil, S.A."},141:{tag:"VOLKSWAGEN",name:"Volkswagen Bank S.A. Instituci\xF3n de Banca M\xFAltiple"},143:{tag:"CIBANCO",name:"Consultor\xEDa Internacional Banco, S.A."},145:{tag:"BBASE",name:"Banco BASE, S.A. de I.B.M."},147:{tag:"BANKAOOL",name:"Bankaool, S.A., Instituci\xF3n de Banca M\xFAltiple"},148:{tag:"PAGATODO",name:"Banco PagaTodo S.A., Instituci\xF3n de Banca M\xFAltiple"},150:{tag:"BIM",name:"Banco Inmobiliario Mexicano, S.A., Instituci\xF3n de Banca M\xFAltiple"},156:{tag:"SABADELL",name:"Banco Sabadell, S.A. I.B.M."},166:{tag:"BANSEFI",name:"Banco del Ahorro Nacional y Servicios Financieros, S.N.C."},168:{tag:"HIPOTECARIA FEDERAL",name:"Sociedad Hipotecaria Federal, S.N.C."},600:{tag:"MONEXCB",name:"Monex Casa de Bolsa, S.A. de C.V."},601:{tag:"GBM",name:"GBM Grupo Burs\xE1til Mexicano, S.A. de C.V."},602:{tag:"MASARI CC.",name:"Masari Casa de Cambio, S.A. de C.V."},604:{tag:"C.B. INBURSA",name:"Inversora Burs\xE1til, S.A. de C.V."},605:{tag:"VALU\xC9",name:"Valu\xE9, S.A. de C.V., Casa de Bolsa"},606:{tag:"CB BASE",name:"Base Internacional Casa de Bolsa, S.A. de C.V."},607:{tag:"TIBER",name:"Casa de Cambio Tiber, S.A. de C.V."},608:{tag:"VECTOR",name:"Vector Casa de Bolsa, S.A. de C.V."},610:{tag:"B&B",name:"B y B Casa de Cambio, S.A. de C.V."},611:{tag:"INTERCAM",name:"Intercam Casa de Cambio, S.A. de C.V."},613:{tag:"MULTIVA",name:"Multivalores Casa de Bolsa, S.A. de C.V. Multiva Gpo. Fin."},614:{tag:"ACCIVAL",name:"Acciones y Valores Banamex, S.A. de C.V., Casa de Bolsa"},615:{tag:"MERRILL LYNCH",name:"Merrill Lynch M\xE9xico, S.A. de C.V., Casa de Bolsa"},616:{tag:"FINAMEX",name:"Casa de Bolsa Finamex, S.A. de C.V."},617:{tag:"VALMEX",name:"Valores Mexicanos Casa de Bolsa, S.A. de C.V."},618:{tag:"\xDANICA",name:"\xDAnica Casa de Cambio, S.A. de C.V."},619:{tag:"ASEGURADORA MAPFRE",name:"MAPFRE Tepeyac S.A."},620:{tag:"AFORE PROFUTURO",name:"Profuturo G.N.P., S.A. de C.V."},621:{tag:"CB ACTINBER",name:"Actinver Casa de Bolsa, S.A. de C.V."},622:{tag:"ACTINVE SI",name:"Actinver S.A. de C.V."},623:{tag:"SKANDIA",name:"Skandia Vida S.A. de C.V."},624:{tag:"CONSULTOR\xCDA",name:"Consultor\xEDa Internacional Casa de Cambio, S.A. de C.V."},626:{tag:"CBDEUTSCHE",name:"Deutsche Securities, S.A. de C.V."},627:{tag:"ZURICH",name:"Zurich Compa\xF1\xEDa de Seguros, S.A."},628:{tag:"ZURICHVI",name:"Zurich Vida, Compa\xF1\xEDa de Seguros, S.A."},629:{tag:"HIPOTECARIA SU CASITA",name:"Hipotecaria su Casita, S.A. de C.V."},630:{tag:"C.B. INTERCAM",name:"Intercam Casa de Bolsa, S.A. de C.V."},631:{tag:"C.B. VANGUARDIA",name:"Vanguardia Casa de Bolsa, S.A. de C.V."},632:{tag:"BULLTICK C.B.",name:"Bulltick Casa de Bolsa, S.A. de C.V."},633:{tag:"STERLING",name:"Sterling Casa de Cambio, S.A. de C.V."},634:{tag:"FINCOMUN",name:"Fincom\xFAn, Servicios Financieros Comunitarios, S.A. de C.V."},636:{tag:"HDI SEGUROS",name:"HDI Seguros, S.A. de C.V."},637:{tag:"ORDER",name:"OrderExpress Casa de Cambio , S.A. de C.V. AAC"},638:{tag:"AKALA",name:"Akala, S.A. de C.V., Sociedad Financiera Popular"},640:{tag:"JP MORGAN C.B.",name:"J.P. Morgan Casa de Bolsa, S.A. de C.V."},642:{tag:"REFORMA",name:"Operadora de Recursos Reforma, S.A. de C.V."},646:{tag:"STP",name:"Sistema de Transferencias y Pagos STP, S.A. de C.V., SOFOM E.N.R."},647:{tag:"TELECOMM",name:"Telecomunicaciones de M\xE9xico"},648:{tag:"EVERCORE",name:"Evercore Casa de Bolsa, S.A. de C.V."},649:{tag:"SKANDIA",name:"Skandia Operadora S.A. de C.V."},651:{tag:"SEGMTY",name:"Seguros Monterrey New York Life, S.A de C.V."},652:{tag:"ASEA",name:"Soluci\xF3n Asea, S.A. de C.V., Sociedad Financiera Popular"},653:{tag:"KUSPIT",name:"Kuspit Casa de Bolsa, S.A. de C.V."},655:{tag:"SOFIEXPRESS",name:"J.P. SOFIEXPRESS, S.A. de C.V., S.F.P."},656:{tag:"UNAGRA",name:"UNAGRA, S.A. de C.V., S.F.P."},659:{tag:"OPCIONES EMPRESARIALES DEL NOROESTE",name:"Opciones Empresariales Del Noreste, S.A. DE C.V."},670:{tag:"LIBERTAD",name:"Libertad Servicios Financieros, S.A. De C.V."},846:{tag:"STP",name:"Sistema de Transferencias y Pagos STP"},901:{tag:"CLS",name:"CLS Bank International"},902:{tag:"INDEVAL",name:"SD. INDEVAL, S.A. de C.V."},999:{tag:"N/A",name:"N/A"}},cities:[[10,"Aguascalientes"],[12,"Calvillo"],[14,"Jes\xFAs Mar\xEDa"],[20,"Mexicali"],[22,"Ensenada"],[27,"Tecate"],[27,"Tijuana"],[28,"La Mesa"],[28,"Rosarito"],[28,"Tijuana [alternate]"],[40,"La Paz"],[41,"Cabo San Lucas"],[42,"Ciudad Constituci\xF3n"],[43,"Guerrero Negro"],[45,"San Jos\xE9 del Cabo"],[46,"Santa Rosal\xEDa"],[50,"Campeche"],[51,"Calkin\xED"],[52,"Ciudad del Carmen"],[53,"Champot\xF3n"],[60,"G\xF3mez Palacio"],[60,"Torre\xF3n"],[62,"Ciudad Acu\xF1a"],[68,"Monclova"],[71,"Nava"],[72,"Nueva Rosita"],[74,"Parras de la Fuente"],[75,"Piedras Negras"],[76,"Ramos Arizpe"],[77,"Sabinas"],[78,"Saltillo"],[80,"San Pedro de las Colonias"],[90,"Colima"],[95,"Manzanillo"],[97,"Tecom\xE1n"],[100,"Ter\xE1n"],[100,"Tuxtla Guti\xE9rrez"],[103,"Arriaga"],[107,"Cintalapa"],[109,"Comit\xE1n"],[109,"Villa Las Rosas"],[111,"Chiapa de Corso"],[113,"F. Comalapa"],[114,"Huixtla"],[123,"Ocosingo"],[124,"Ocozocuautla"],[125,"Palenque"],[126,"Pichucalco"],[127,"Pijijiapan"],[128,"Reforma"],[130,"San Crist\xF3bal de las Casas"],[131,"Simojovel"],[133,"Tapachula"],[135,"Tonala"],[137,"Venustiano Carranza"],[138,"Villa Flores"],[140,"Yajal\xF3n"],[150,"Chihuahua"],[150,"Ciudad Delicias"],[152,"Ciudad An\xE1huac"],[155,"Ciudad Camargo"],[158,"Ciudad Cuauht\xE9moc"],[161,"Ciudad Guerrero"],[162,"Parral"],[163,"Ciudad Jim\xE9nez"],[164,"Ciudad Ju\xE1rez"],[165,"Ciudad Madera"],[167,"El Molino de Namiquipa"],[168,"Nuevo Casas Grandes"],[180,"Atizapan"],[180,"Chalco"],[180,"Ciudad de M\xE9xico"],[180,"Coacalco"],[180,"Cuautitl\xE1n Izcalli"],[180,"Cuautitl\xE1n"],[180,"Ecatepec"],[180,"Huehuetoca"],[180,"Huixquilucan"],[180,"Ixtapaluca"],[180,"Los Reyes La Paz"],[180,"Naucalpan"],[180,"Nezahualc\xF3yotl"],[180,"Tecamac"],[180,"Teotihuac\xE1n"],[180,"Texcoco"],[180,"Tlalnepantla"],[190,"Durango"],[198,"N/A"],[201,"Tepehuanes"],[202,"Vicente Guerrero"],[210,"Guanajuato"],[211,"Abasolo"],[212,"Ac\xE1mbaro"],[213,"Apaseo el Alto"],[214,"Apaseo el Grande"],[215,"Celaya"],[216,"Comonfort"],[217,"Coroneo"],[218,"Cortazar"],[219,"Cuer\xE1maro"],[220,"Dolores Hidalgo"],[222,"Irapuato"],[223,"Jaral del Progreso"],[224,"Jer\xE9cuaro"],[225,"Le\xF3n"],[226,"Cd. Manuel Doblado"],[227,"Morole\xF3n"],[229,"P\xE9njamo"],[232,"Romita"],[233,"Salamanca"],[234,"Salvatierra"],[236,"San Felipe"],[237,"Pur\xEDsima de Bustos"],[237,"San Francisco del Rinco\xF3n"],[238,"San Jos\xE9 Iturbide"],[239,"San Luis de la Paz"],[240,"San Miguel Allende"],[244,"Silao"],[247,"Uriangato"],[248,"Valle de Santiago"],[249,"Yuriria"],[260,"Chilpancingo"],[261,"Acapulco"],[263,"Arcelia"],[264,"Atoyac de \xC1lvarez"],[266,"Ciudad Altamirano"],[267,"Coyuca de Ben\xEDtez"],[270,"Chilapa"],[271,"Huitzuco"],[272,"Iguala"],[272,"La Sabana"],[274,"Cuajinicuilapa"],[274,"Ometepec"],[275,"San Marcos"],[276,"Taxco"],[278,"Teloloapan"],[281,"Tlapa"],[282,"Ixtapa Zihuatanejo"],[282,"Zihuatanejo"],[290,"Pachuca"],[291,"Actopan"],[292,"Apam"],[293,"Atotonilco el Grande"],[294,"Ciudad Sahag\xFAn"],[294,"Teocaltiche"],[295,"Cuautepec"],[296,"Huejutla"],[297,"Huichapan"],[298,"Ixmiquilpan"],[303,"Progreso de Obreg\xF3n"],[305,"Tepeapulco"],[308,"Tizayuca"],[311,"Tula de Allende"],[312,"Tulancingo"],[313,"Zacualtip\xE1n"],[314,"Zimap\xE1n"],[320,"El Salto"],[320,"Guadalajara"],[320,"San Pedro Tlaquepaque"],[320,"Tlajomulco"],[320,"Tonala [alternate]"],[320,"Zapopan"],[326,"Ameca"],[327,"Arandas"],[330,"Atotonilco el Alto"],[331,"Atequiza"],[333,"Autl\xE1n"],[334,"Azteca"],[340,"Casimiro Castillo"],[341,"Cihuatl\xE1n"],[342,"Ciudad Guzm\xE1n"],[346,"Chapala"],[348,"El Grullo"],[355,"Ixtlahuac\xE1n del R\xEDo"],[356,"Jalostotitl\xE1n"],[357,"Jamay"],[361,"La Barca"],[362,"Lagos de Moreno"],[370,"Ocotl\xE1n"],[373,"Pihuamo"],[375,"Las Juntas"],[375,"Nuevo Vallarta"],[375,"Pitillal"],[375,"Puerto Vallarta"],[381,"San Juan de los Lagos"],[382,"N/A"],[384,"San Miguel el Alto"],[385,"San Patricio Melaque"],[386,"Sayula"],[387,"Tala"],[389,"Tamazula de Gordiano"],[391,"Tecalitl\xE1n"],[396,"Tepatitl\xE1n"],[397,"Tequila"],[403,"Tototl\xE1n"],[404,"T\xFAxpam"],[411,"Villa Hidalgo"],[413,"Zacoalco de Torres"],[414,"Zapotiltic"],[416,"Zapotlanejo"],[420,"Toluca"],[421,"Acambay"],[422,"Almoloya de Ju\xE1rez"],[424,"Amecameca"],[425,"Apaxco"],[426,"Atlacomulco"],[428,"Coatepec de Harinas"],[430,"Chicoloapan"],[431,"Chiconcuac"],[432,"El Oro"],[433,"Ixtapan de la Sal"],[434,"Ixtlahuaca"],[435,"Jilotepec"],[438,"Lerma"],[441,"Metepec"],[443,"Otumba"],[445,"San Mateo Atenco"],[446,"Tejupilco"],[448,"Temascaltepec"],[449,"Temoaya"],[450,"Tenancingo"],[451,"Tenago del Valle"],[453,"Santiago Tiangistenco"],[455,"Tultepec"],[456,"Tultitl\xE1n"],[457,"Valle de Bravo"],[460,"Villa Nicol\xE1s Romero"],[463,"Zumpango"],[470,"Morelia"],[472,"Aguililla"],[476,"Apatzing\xE1n"],[480,"Ciudad Hidalgo"],[483,"Cotija"],[484,"Cuitzeo"],[492,"Huetamo"],[493,"Jacona"],[494,"Jiquilpan"],[496,"La Piedad"],[497,"L\xE1zaro C\xE1rdenas"],[498,"Los Reyes"],[499,"Maravat\xEDo"],[501,"Nueva Italia"],[506,"P\xE1tzcuaro"],[508,"Pur\xE9pero"],[509,"Puruandiro"],[512,"Sahuayo"],[515,"Tac\xE1mbaro"],[517,"Tanganc\xEDcuaro"],[519,"Tepalcatepec"],[523,"Tlazazalca"],[528,"Uruapan"],[533,"Yur\xE9cuaro"],[534,"Zacapu"],[535,"Zamora"],[536,"Zinap\xE9cuaro"],[537,"Zit\xE1cuaro"],[540,"Cuernavaca"],[542,"Cuautla"],[542,"Oaxtepec, Morelos"],[543,"Jiutepec"],[544,"Jojutla"],[545,"Puente de Ixtla"],[546,"Temixco"],[548,"Tetecala"],[549,"Yautepec"],[552,"Zacatepec"],[560,"Tepic"],[561,"Acaponeta"],[562,"Ahuacatl\xE1n"],[564,"Compostela"],[566,"Ixtl\xE1n del R\xEDo"],[571,"San Blas"],[573,"Santiago Ixcuintla"],[575,"T\xFAxpam [alternate]"],[580,"Apodaca"],[580,"Cadereyta"],[580,"Cd. Guadalupe"],[580,"General Escobedo"],[580,"Monterrey"],[580,"San Nicol\xE1s de los Garza"],[580,"San Pedro Garza Garc\xEDa"],[580,"Santa Catarina"],[583,"Allende"],[592,"General Zuazua"],[595,"Linares"],[597,"Montemorelos"],[599,"Sabinas Hidalgo"],[600,"Salinas Victoria"],[601,"El Cercado"],[601,"Villa de Santiago"],[610,"Oaxaca"],[613,"Tlaxiaco"],[614,"Huajuapan de Le\xF3n"],[616,"Ixtepec"],[617,"Juchit\xE1n"],[619,"Loma Bonita"],[620,"Mat\xEDas Romero"],[621,"Miahuatl\xE1n"],[622,"Ocotl\xE1n [alternate]"],[624,"Puerto Escondido"],[626,"Salina Cruz"],[627,"Lagunas"],[628,"Tuxtepec"],[630,"Pochutla"],[631,"San Pedro Tapanatepec"],[632,"Santa Luc\xEDa del Camino"],[634,"Bah\xEDas de Huatulco"],[635,"Santiago Juxtlahuaca"],[636,"Pinotepa Nacional"],[637,"Tehuantepec"],[638,"Tlacolula"],[640,"Zimatl\xE1n"],[650,"Cholula"],[650,"La Resurrecci\xF3n"],[650,"Puebla"],[650,"San Baltazar Campeche"],[651,"N/A"],[652,"Acatzingo"],[654,"Atlixco"],[656,"Cuetzalan"],[659,"Huauchinango"],[662,"Iz\xFAcar de Matamoros"],[667,"San Mart\xEDn Texmelucan"],[668,"San Felipe Hueyotlipan"],[669,"Tecamachalco"],[670,"Tehuac\xE1n"],[671,"San Lorenzo"],[672,"Teziutl\xE1n"],[674,"Xicotepec de Ju\xE1rez"],[676,"Zacatl\xE1n"],[680,"Pedro Escobedo"],[680,"Quer\xE9taro"],[680,"Villa Corregidora"],[681,"Amealco"],[685,"San Juan del R\xEDo"],[686,"Tequisquiapan"],[690,"Chetumal"],[691,"Canc\xFAn"],[691,"Col. Puerto Ju\xE1rez"],[692,"Cozumel"],[693,"N/A"],[694,"Playa del Carmen"],[700,"San Luis Potos\xED"],[703,"Cerritos"],[705,"Ciudad Valles"],[709,"Matehuala"],[711,"R\xEDo Verde"],[716,"Tamu\xEDn"],[730,"Culiac\xE1n"],[735,"Concordia"],[736,"Cosala"],[737,"Choix"],[738,"El Fuerte"],[739,"Escuinapa"],[740,"Guam\xFAchil"],[741,"Guasave"],[743,"Los Mochis"],[743,"Topolobampo"],[744,"Mazatl\xE1n"],[745,"Mocorito"],[746,"Navolato"],[760,"Hermosillo"],[761,"Agua Prieta"],[765,"Caborca"],[766,"Cananea"],[767,"Ciudad Obreg\xF3n"],[767,"Esperanza"],[769,"Empalme"],[770,"Guaymas"],[770,"San Carlos"],[771,"Huatabampo"],[773,"Magdalena"],[776,"Nacozari de Garc\xEDa"],[777,"Navojoa"],[778,"Nogales"],[779,"Puerto Pe\xF1asco"],[780,"San Luis R\xEDo Colorado"],[790,"Tamulte"],[790,"Villa Hermosa"],[792,"C\xE1rdenas"],[793,"Ciudad Pemex"],[794,"Comalcalco"],[796,"Emiliano Zapata"],[797,"Frontera"],[798,"Huimanguillo"],[800,"Jalpa de M\xE9ndez"],[802,"Macuspana"],[803,"Nacajuca"],[804,"Para\xEDso"],[805,"Tacotalpa"],[806,"Teapa"],[807,"Tenosique"],[810,"Ciudad Victoria"],[811,"Altamira"],[813,"Ciudad Madero"],[813,"Tampico"],[814,"Ciudad Mante"],[818,"Matamoros"],[821,"Colombia"],[821,"Nuevo Laredo"],[822,"Reynosa"],[823,"R\xEDo Bravo"],[825,"Soto La Marina"],[826,"Valle Hermoso"],[830,"Tlaxcala"],[832,"Apizaco"],[834,"Santa Ana Chiautempan"],[840,"Jalapa"],[841,"Acayucan"],[843,"Agua Dulce"],[845,"\xC1lamo"],[846,"Altotonga"],[848,"Banderilla"],[849,"Boca del R\xEDo"],[852,"Ciudad Mendoza"],[853,"Coatepec"],[854,"Coatzacoalcos"],[855,"C\xF3rdoba"],[856,"Cosamaloapan"],[860,"Cuitl\xE1huac"],[863,"Fort\xEDn de las Flores"],[864,"Guti\xE9rrez Zamora"],[865,"Huatusco"],[867,"Isla"],[868,"Ixtaczoquitl\xE1n"],[869,"J\xE1ltipan"],[871,"Juan Rodr\xEDguez Clara"],[872,"Villa Jos\xE9 Cardel"],[873,"Las Choapas"],[875,"Naranjos"],[876,"Mart\xEDnez de la Torre"],[877,"Minatitl\xE1n"],[878,"Misantla"],[879,"Nanchital"],[882,"Orizaba"],[885,"Papantla"],[886,"Perote"],[888,"Poza Rica"],[889,"R\xEDo Blanco"],[890,"San Andr\xE9s Tuxtla"],[891,"San Rafael"],[894,"Plat\xF3n S\xE1nchez"],[894,"Tantoyuca"],[895,"Tempoal"],[898,"Tierra Blanca"],[901,"Tlapacoyan"],[903,"T\xFAxpam de Rodr\xEDguez Cano"],[905,"Cd. Industrial Framboyan"],[905,"Veracruz"],[910,"M\xE9rida"],[913,"Motul"],[914,"Oxkutzcab"],[915,"Progreso"],[917,"Ticul"],[918,"Tizim\xEDn"],[920,"Valladolid"],[930,"Zacatecas"],[933,"Fresnillo"],[934,"Guadalupe"],[935,"Jalpa"],[936,"Jerez de G. Salinas"],[938,"Juchipila"],[939,"Loreto"],[946,"Nochistl\xE1n"],[958,"Valpara\xEDso"],[960,"Calera de V. Rosales"]]};"object"===("undefined"==typeof module?"undefined":_typeof(module))&&(module.exports=clabe),"object"===("undefined"==typeof window?"undefined":_typeof(window))&&(window.clabe=clabe);

@@ -18,5 +18,5 @@ // CLABE Validator ~ MIT License

const home = pkg.homepage.replace('https://', '');
const banner = '//! CLABE Validator v' + pkg.version + ' ~ ' + home + ' ~ MIT License\n';
const bannerJs = '//! CLABE Validator v' + pkg.version + ' ~ ' + home + ' ~ MIT License\n';
const htmlHintConfig = { 'attr-value-double-quotes': false };
const headerComments = /^[/][/].*\n/gm;
const headerComments = /^\/\/.*\n/gm;
const transpileES6 = ['@babel/env', { modules: false }];

@@ -38,3 +38,3 @@ const babelMinifyJs = { presets: [transpileES6, 'minify'], comments: false };

.pipe(replace(headerComments, ''))
.pipe(header(banner))
.pipe(header(bannerJs))
.pipe(replace('[VERSION]', pkg.version))

@@ -45,5 +45,6 @@ .pipe(size({ showFiles: true }))

.pipe(rename({ extname: '.min.js' }))
.pipe(header(banner))
.pipe(header(bannerJs))
.pipe(gap.appendText('\n'))
.pipe(size({ showFiles: true }))
.pipe(size({ showFiles: true, gzip: true }))
.pipe(gulp.dest('dist'));

@@ -50,0 +51,0 @@ }

MIT License
Copyright (c) 2017-2018 individual contributors to CLABE Validator
Copyright (c) 2017-2019 individual contributors to CLABE Validator

@@ -5,0 +5,0 @@ Permission is hereby granted, free of charge, to any person obtaining a copy

{
"name": "clabe-validator",
"version": "1.3.2",
"version": "1.3.3",
"description": "JavaScript library to analyze or create a CLABE number for a Mexican bank account",
"license": "MIT",
"main": "clabe.js",
"main": "dist/clabe.js",
"browser": "dist/clabe.min.js",

@@ -41,5 +41,6 @@ "repository": "github:center-key/clabe-validator",

"devDependencies": {
"@babel/core": "~7.2",
"@babel/preset-env": "~7.2",
"@fortawesome/fontawesome-free": "~5.5",
"@babel/core": "~7.3",
"@babel/preset-env": "~7.3",
"@fortawesome/fontawesome-free": "~5.7",
"babel-minify": "~0.5",
"dna.js": "~1.5",

@@ -49,3 +50,2 @@ "gulp": "~4.0",

"gulp-babel": "~8.0",
"gulp-babel-minify": "~0.5",
"gulp-header": "~2.0",

@@ -58,6 +58,6 @@ "gulp-htmlhint": "~2.2",

"jquery": "~3.3",
"jshint": "~2.9",
"mocha": "~5.2",
"web-ignition": "~1.0"
"jshint": "~2.10",
"mocha": "~6.0",
"web-ignition": "~1.1"
}
}

@@ -140,2 +140,26 @@ // CLABE Validator

////////////////////////////////////////////////////////////////////////////////////////////////////
describe('The computeChecksum() function', () => {
it('returns null if the checksum cannot be computed', () => {
const dataSet = [
'1234567890123456',
'1234567890123456789',
'12345678901234567x',
'bogus',
NaN,
undefined,
0,
null
];
const evalData = (data) => {
const actual = { input: data, checksum: clabe.computeChecksum(data) };
const expected = { input: data, checksum: null };
assert.deepEqual(actual, expected);
};
dataSet.forEach(evalData);
});
});
////////////////////////////////////////////////////////////////////////////////////////////////////
describe('CLABE validator', () => {

@@ -182,14 +206,16 @@

const actual = {
clabe: data,
ok: result.ok,
format: result.formatOk,
error: result.error,
msg: result.message
clabe: data,
ok: result.ok,
format: result.formatOk,
error: result.error,
msg: result.message,
checksum: result.checksum
};
const expected = {
clabe: data,
ok: true,
format: true,
error: null,
msg: 'Valid'
clabe: data,
ok: true,
format: true,
error: null,
msg: 'Valid',
checksum: parseInt(data[17])
};

@@ -204,4 +230,18 @@ assert.deepEqual(actual, expected);

const result = clabe.validate(data);
const actual = { clabe: data, ok: result.ok, format: result.formatOk, error: result.error, msg: result.message };
const expected = { clabe: data, ok: true, format: true, error: null, msg: 'Valid'};
const actual = {
clabe: data,
ok: result.ok,
format: result.formatOk,
error: result.error,
msg: result.message,
checksum: result.checksum
};
const expected = {
clabe: data,
ok: true,
format: true,
error: null,
msg: 'Valid',
checksum: 0
};
assert.deepEqual(actual, expected);

@@ -208,0 +248,0 @@ });

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc