cz-bank-account-validator
Version:
A small and handy library to validate CZ bank account numbers. Running in a browser, in Node.js and also as an ES6 module.
3 lines • 4.88 kB
JavaScript
/*! For license information please see cz-bank-account-validator.js.LICENSE.txt */
!function(a,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["cz-bank-account-validator"]=e():a["cz-bank-account-validator"]=e()}(this,(()=>(()=>{"use strict";var a={"./src/bankCodes.js":(a,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bankCodes=void 0;e.bankCodes={"0100":{bankName:"Komerční banka, a.s."},"0300":{bankName:"ČSOB, a.s."},"0600":{bankName:"MONETA Money Bank, a.s."},"0710":{bankName:"Česká národní banka"},"0800":{bankName:"Česká spořitelna, a.s."},2010:{bankName:"Fio banka, a.s."},2020:{bankName:"MUFG Bank (Europe) N.V. Prague Branch"},2030:{bankName:"AKCENTA, spořitelní a úvěrní družstvo"},2060:{bankName:"Citfin, spořitelní družstvo"},2070:{bankName:"Moravský Peněžní Ústav – spořitelní družstvo"},2100:{bankName:"Hypoteční banka, a.s."},2200:{bankName:"Peněžní dům, spořitelní družstvo"},2220:{bankName:"Artesa, spořitelní družstvo"},2240:{bankName:"Poštová banka, a.s., pobočka Česká republika"},2250:{bankName:"Banka CREDITAS a.s."},2260:{bankName:"ANO spořitelní družstvo"},2310:{bankName:"ZUNO BANK AG, organizační složka"},2600:{bankName:"Citibank Europe plc, organizační složka"},2700:{bankName:"UniCredit Bank Czech Republic and Slovakia, a.s."},3030:{bankName:"Air Bank a. s."},3050:{bankName:"BNP Paribas Personal Finance SA, odštěpný závod"},3060:{bankName:"PKO BP S.A., Czech Branch"},3500:{bankName:"ING Bank N.V."},4e3:{bankName:"Expobank CZ a.s."},4300:{bankName:"Českomoravská záruční a rozvojová banka, a.s."},5500:{bankName:"Raiffeisenbank, a.s."},5800:{bankName:"J&T Banka, a.s."},6e3:{bankName:"PPF banka a.s."},6100:{bankName:"Equa bank a. s."},6200:{bankName:"COMMERZBANK Aktiengesellschaft, pobočka Praha"},6210:{bankName:"mBank S.A., organizační složka"},6300:{bankName:"BNP Paribas Fortis SA/NV, pobočka Česká republika"},6700:{bankName:"Všeobecná úverová banka a.s., pobočka Praha"},6800:{bankName:"Sberbank CZ, a.s."},7910:{bankName:"Deutsche Bank A.G. Filiale Prag"},7940:{bankName:"Waldviertler Sparkasse Bank AG"},7950:{bankName:"Raiffeisen stavební spořitelna a.s."},7960:{bankName:"Českomoravská stavební spořitelna a. s."},7970:{bankName:"Wüstenrot - stavební spořitelna a.s."},7980:{bankName:"Wüstenrot hypoteční banka, a.s."},7990:{bankName:"Modrá pyramida stavební spořitelna, a.s."},8030:{bankName:"Raiffeisenbank im Stiftland Waldsassen eG pobočka Cheb, odštěpný závod"},8040:{bankName:"Oberbank AG pobočka Česká republika"},8060:{bankName:"Stavební spořitelna České spořitelny, a.s."},8090:{bankName:"Česká exportní banka, a.s."},8150:{bankName:"HSBC Bank plc - pobočka Praha"},8200:{bankName:"PRIVAT BANK AG der Raiffeisenlandesbank Oberösterreich v České republice"},8220:{bankName:"Payment Execution s.r.o."},8230:{bankName:"EEPAYS s. r. o."},8240:{bankName:"Družstevní záložna Kredit"},8250:{bankName:"Bank of China (Hungary) Close Ltd. Prague branch, odštěpný závod"}}},"./src/util.js":(a,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getBankAccountGroups=e.mod11=void 0;var n=/^(([0-9]{0,6})-)?([0-9]{1,10})\/(\d{4})$/i;e.mod11=function(a){var e=[1,2,4,8,5,10,9,7,3,6];return a.split("").reverse().map((function(a){return parseInt(a)})).map((function(a,n){return e[n]*a})).reduce((function(a,e){return a+e}))%11==0};e.getBankAccountGroups=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if("string"!=typeof a||a.length<1)return!1;var e=a.replaceAll(" ",""),o=e.match(n);if(o&&o.length){var t=o[2],r=o[3],s=o[4];return{prefixCode:t,accountNumber:r,bankCode:s}}return null}}},e={};function n(o){var t=e[o];if(void 0!==t)return t.exports;var r=e[o]={exports:{}};return a[o](r,r.exports,n),r.exports}var o={};return(()=>{var a=o;Object.defineProperty(a,"__esModule",{value:!0}),a.getBankCode=a.getAccountNumber=a.getAccountPrefix=a.validate=a.getAllBankCodes=void 0;var e=n("./src/bankCodes.js"),t=n("./src/util.js"),r=function(){return e.bankCodes};a.getAllBankCodes=r;var s=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if("string"!=typeof a||a.length<1)return!1;var e=Object.keys(r()),n=(0,t.getBankAccountGroups)(a);if(n){var o=n.prefixCode,s=n.accountNumber,k=n.bankCode,b=!o||(0,t.mod11)(o),i=!!s&&(0,t.mod11)(s),u=!!k&&e.includes(k);return b&&i&&u}return!1};a.validate=s;a.getAccountPrefix=function(a){return s(a)?(0,t.getBankAccountGroups)(a)?.prefixCode??null:null};a.getAccountNumber=function(a){return s(a)?(0,t.getBankAccountGroups)(a)?.accountNumber??null:null};a.getBankCode=function(a){return s(a)?(0,t.getBankAccountGroups)(a)?.bankCode??null:null}})(),o})()));
//# sourceMappingURL=cz-bank-account-validator.js.map