PageSourceSearch

https://soutenir.cap48.be/themes/default/js/iban-validator.min.js?hash=683493897ee764a5c9b485c6412e20d0

js cap48.be collected 2026-10-02 03:45:19 UTC 6,313 bytes, 7 lines download raw bytes

1var IBANValidator={ibanFormatMap:{'AA':[12,/^[A-Z0-9]{12}$/],'AD':[20,/^[0-9]{4}[0-9]{4}[A-Z0-9]{12}$/],'AE':[19,/^[0-9]{3}[0-9]{16}$/],'AL':[24,/^[0-9]{8}[A-Z0-9]{16}$/],'AO':[21,/^[0-9]{21}$/],'AT':[16,/^[0-9]{5}[0-9]{11}$/],'AX':[14,/^[0-9]{6}[0-9]{7}[0-9]{1}$/],'AZ':[24,/^[A-Z]{4}[A-Z0-9]{20}$/],'BA':[16,/^[0-9]{3}[0-9]{3}[0-9]{8}[0-9]{2}$/],'BE':[12,/^[0-9]{3}[0-9]{7}[0-9]{2}$/],'BF':[23,/^[0-9]{23}$/],'BG':[18,/^[A-Z]{4}[0-9]{4}[0-9]{2}[A-Z0-9]{8}$/],'BH':[18,/^[A-Z]{4}[A-Z0-9]{14}$/],'BI':[12,/^[0-9]{12}$/],'BJ':[24,/^[A-Z]{1}[0-9]{23}$/],'BL':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'BR':[25,/^[0-9]{8}[0-9]{5}[0-9]{10}[A-Z]{1}[A-Z0-9]{1}$/],'CH':[17,/^[0-9]{5}[A-Z0-9]{12}$/],'CI':[24,/^[A-Z]{1}[0-9]{23}$/],'CM':[23,/^[0-9]{23}$/],'CR':[17,/^[0-9]{4}[0-9]{13}$/],'CV':[21,/^[0-9]{21}$/],'CY':[24,/^[0-9]{3}[0-9]{5}[A-Z0-9]{16}$/],'CZ':[20,/^[0-9]{4}[0-9]{6}[0-9]{10}$/],'DE':[18,/^[0-9]{8}[0-9]{10}$/],'DK':[14,/^[0-9]{4}[0-9]{9}[0-9]{1}$/],'DO':[24,/^[A-Z0-9]{4}[0-9]{20}$/],'DZ':[20,/^[0-9]{20}$/],'EE':[16,/^[0-9]{2}[0-9]{2}[0-9]{11}[0-9]{1}$/],'ES':[20,/^[0-9]{4}[0-9]{4}[0-9]{1}[0-9]{1}[0-9]{10}$/],'FI':[14,/^[0-9]{6}[0-9]{7}[0-9]{1}$/],'FO':[14,/^[0-9]{4}[0-9]{9}[0-9]{1}$/],'FR':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'GB':[18,/^[A-Z]{4}[0-9]{6}[0-9]{8}$/],'GE':[18,/^[A-Z]{2}[0-9]{16}$/],'GF':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'GI':[19,/^[A-Z]{4}[A-Z0-9]{15}$/],'GL':[14,/^[0-9]{4}[0-9]{9}[0-9]{1}$/],'GP':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'GR':[23,/^[0-9]{3}[0-9]{4}[A-Z0-9]{16}$/],'GT':[24,/^[A-Z0-9]{4}[A-Z0-9]{20}$/],'HR':[17,/^[0-9]{7}[0-9]{10}$/],'HU':[24,/^[0-9]{3}[0-9]{4}[0-9]{1}[0-9]{15}[0-9]{1}$/],'IE':[18,/^[A-Z]{4}[0-9]{6}[0-9]{8}$/],'IL':[19,/^[0-9]{3}[0-9]{3}[0-9]{13}$/],'IR':[22,/^[0-9]{22}$/],'IS':[22,/^[0-9]{4}[0-9]{2}[0-9]{6}[0-9]{10}$/],'IT':[23,/^[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}$/],'JO':[26,/^[A-Z]{4}[0-9]{4}[A-Z0-9]{18}$/],'KW':[26,/^[A-Z]{4}[A-Z0-9]{22}$/],'KZ':[16,/^[0-9]{3}[A-Z0-9]{13}$/],'LB':[24,/^[0-9]{4}[A-Z0-9]{20}$/],'LC':[28,/^[A-Z]{4}[A-Z0-9]{24}$/],'LI':[17,/^[0-9]{5}[A-Z0-9]{12}$/],'LT':[16,/^[0-9]{5}[0-9]{11}$/],'LU':[16,/^[0-9]{3}[A-Z0-9]{13}$/],'LV':[17,/^[A-Z]{4}[A-Z0-9]{13}$/],'MC':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'MD':[20,/^[A-Z0-9]{2}[A-Z0-9]{18}$/],'ME':[18,/^[0-9]{3}[0-9]{13}[0-9]{2}$/],'MF':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'MG':[23,/^[0-9]{23}$/],'MK':[15,/^[0-9]{3}[A-Z0-9]{10}[0-9]{2}$/],'ML':[24,/^[A-Z]{1}[0-9]{23}$/],'MQ':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'MR':[23,/^[0-9]{5}[0-9]{5}[0-9]{11}[0-9]{2}$/],'MT':[27,/^[A-Z]{4}[0-9]{5}[A-Z0-9]{18}$/],'MU':[26,/^[A-Z]{4}[0-9]{2}[0-9]{2}[0-9]{12}[0-9]{3}[A-Z]{3}$/],'MZ':[21,/^[0-9]{21}$/],'NC':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'NL':[14,/^[A-Z]{4}[0-9]{10}$/],'NO':[11,/^[0-9]{4}[0-9]{6}[0-9]{1}$/],'PF':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'PK':[20,/^[A-Z]{4}[A-Z0-9]{16}$/],'PL':[24,/^[0-9]{8}[0-9]{16}$/],'PM':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'PS':[25,/^[A-Z]{4}[A-Z0-9]{21}$/],'PT':[21,/^[0-9]{4}[0-9]{4}[0-9]{11}[0-9]{2}$/],'QA':[25,/^[A-Z]{4}[0-9]{4}[A-Z0-9]{17}$/],'RE':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'RO':[20,/^[A-Z]{4}[A-Z0-9]{16}$/],'RS':[18,/^[0-9]{3}[0-9]{13}[0-9]{2}$/],'SA':[20,/^[0-9]{2}[A-Z0-9]{18}$/],'SC':[27,/^[A-Z]{4}[0-9]{4}[0-9]{16}[A-Z]{3}$/],'SE':[20,/^[0-9]{3}[0-9]{16}[0-9]{1}$/],'SI':[15,/^[0-9]{5}[0-9]{8}[0-9]{2}$/],'SK':[20,/^[0-9]{4}[0-9]{6}[0-9]{10}$/],'SM':[23,/^[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}$/],'SN':[24,/^[A-Z]{1}[0-9]{23}$/],'ST':[21,/^[0-9]{8}[0-9]{11}[0-9]{2}$/],'TF':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'TL':[19,/^[0-9]{3}[0-9]{14}[0-9]{2}$/],'TN':[20,/^[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}$/],'TR':[22,/^[0-9]{5}[0-9]{1}[A-Z0-9]{16}$/],'UA':[25,/^[0-9]{6}[A-Z0-9]{19}$/],'VG':[20,/^[A-Z]{4}[0-9]{16}$/],'WF':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/],'XK':[16,/^[0-9]{4}[0-9]{10}[0-9]{2}$/],'YT':[23,/^[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}$/]},normalize:function(iban){return iban.replace(/[^a-z0-9]+/gi,'').trim().toUpperCase();},getCountryCode:function(iban){return iban.substring(0,2);},getChecksum:function(iban){return iban.substring(2,4);},getAccountIdentification:function(iban){return iban.substring(4);},isCountryCodeValid:function(iban){const countryCode=this.getCountryCode(iban);return this.ibanFormatMap.hasOwnProperty(countryCode);},isLengthValid:function(iban){const countryCode=this.getCountryCode(iban);const validLength=2+2+this.ibanFormatMap[countryCode][0];return iban.length===validLength;},isFormatValid:function(iban){const countryCode=this.getCountryCode(iban);const accountIdentification=this.getAccountIdentification(iban);const regex=this.ibanFormatMap[countryCode][1];return regex.test(accountIdentification);},getNumericRepresentation:function(letterRepresentation){let numericRepresentation='';for(let i=0;i<letterRepresentation.length;i++){const char=letterRepresentation.charAt(i);
1const charCode=char.charCodeAt(0);if(charCode>=65&&charCode<=90){numericRepresentation+=(charCode-55).toString();}else if(charCode>=48&&charCode<=57){numericRepresentation+=(charCode-48).toString();}}
2return numericRepresentation;},mod97:function(str){let remainder='';for(let i=0;i<str.length;i++){remainder+=str.charAt(i);if(remainder.length>=9){remainder=(parseInt(remainder)%97).toString();}}
3return parseInt(remainder)%97;},isChecksumValid:function(iban){const countryCode=this.getCountryCode(iban);const checksum=this.getChecksum(iban);const accountIdentification=this.getAccountIdentification(iban);const numericCountryCode=this.getNumericRepresentation(countryCode);const numericAccountIdentification=this.getNumericRepresentation(accountIdentification);const rearrangedIban=numericAccountIdentification+numericCountryCode+checksum;return this.mod97(rearrangedIban)===1;},validate:function(iban){const normalizedIban=this.normalize(iban);if(!this.isCountryCodeValid(normalizedIban)){return{valid:false,error:'IBAN country code not valid or not supported'};}
4if(!this.isLengthValid(normalizedIban)){return{valid:false,error:'IBAN length is invalid'};}
5if(!this.isFormatValid(normalizedIban)){return{valid:false,error:'IBAN format is invalid'};}
6if(!this.isChecksumValid(normalizedIban)){return{valid:false,error:'IBAN checksum is invalid'};}
7return{valid:true,error:null};}};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.