Vytvářejte náhodné IBANy splňující formát nebo ověřujte existující pomocí našeho jednoduchého nástroje. Ideální pro testování finančních aplikací, bankovního softwaru a vzdělávací účely.
Nástroj pro generování a validaci mezinárodního čísla bankovního účtu (IBAN) je komplexní nástroj navržený pro testovací a ověřovací účely v oblasti finančních aplikací, bankovního softwaru a vzdělávacích kontextů. Tato uživatelsky přívětivá aplikace nabízí dvě základní funkce: generování náhodných, ale formátově správných IBAN a validaci strukturální integrity IBAN zadaných uživateli. Ať už jste vývojář testující finanční software, specialista na QA ověřující bankovní aplikace nebo pedagog vysvětlující mezinárodní bankovní standardy, tento nástroj poskytuje jednoduché řešení bez potřeby složitých konfigurací nebo integrací třetích stran.
IBANy (mezinárodní čísla bankovních účtů) jsou standardizované identifikátory účtů používané mezinárodně k usnadnění přeshraničních transakcí a snížení chyb při mezinárodních převodech peněz. Každý IBAN se skládá z kódu země, kontrolních číslic a základního čísla bankovního účtu (BBAN), které následuje specifické formáty pro jednotlivé země. Náš nástroj podporuje více formátů zemí a zajišťuje, že všechny generované IBANy procházejí validačním algoritmem MOD 97, jak je uvedeno ve standardu ISO 13616.
IBAN se skládá až z 34 alfanumerických znaků, přičemž přesná délka se liší podle země. Standardní struktura zahrnuje:
Například německý IBAN následuje strukturu DE2!n8!n10!n
, kde:
DE
je kód země2!n
představuje dvě numerické kontrolní číslice8!n
představuje osmimístný kód banky10!n
představuje desetimístné číslo účtuRůzné země mají různé formáty BBAN, což vede k různým délkám IBAN:
Země | Délka | Struktura | Příklad |
---|---|---|---|
Německo (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
UK (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Francie (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Španělsko (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Itálie (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Proces validace IBAN používá algoritmus MOD 97, jak je uvedeno ve standardu ISO 7064. Jak to funguje:
Matematicky je to reprezentováno jako:
Náš validátor implementuje tento algoritmus pro ověření strukturální integrity jakéhokoli IBAN zadaného uživateli.
Generátor IBAN vytváří náhodné, ale platné IBANy pro testovací účely. Hlavní funkce zahrnují:
Generátor vytváří IBANy tímto způsobem:
Validátor IBAN kontroluje strukturální integritu zadaných IBANů uživateli. Hlavní funkce zahrnují:
Validátor provádí několik kontrol:
Nástroj pro generování a validaci IBAN slouží mnoha účelům v různých oblastech:
Zatímco náš nástroj pro generování a validaci IBAN nabízí zjednodušenou zkušenost pro testovací účely, existují alternativní přístupy, které je třeba zvážit:
Náš nástroj vyplňuje mezeru mezi těmito alternativami tím, že poskytuje jednoduché, přístupné rozhraní pro generování i validaci bez potřeby technické integrace nebo placených předplatných.
IBAN (mezinárodní číslo bankovního účtu) je standardizovaný mezinárodní číselný systém vyvinutý k identifikaci bankovních účtů přes národní hranice. Byl zaveden Mezinárodní organizací pro normalizaci (ISO) pro usnadnění bezchybného mezinárodního převodu.
Generátor IBAN vytváří strukturálně platné IBANy, které procházejí algoritmem kontrolního čísla MOD 97, jak je uvedeno ve standardu ISO 13616. I když jsou generované IBANy matematicky platné, jsou náhodné a nejsou spojeny se skutečnými bankovními účty, což je činí ideálními pro testování, ale ne pro skutečné transakce.
Nástroj aktuálně podporuje formáty IBAN pro Německo, Spojené království, Francii, Španělsko, Itálii, Nizozemsko, Švýcarsko, Rakousko, Belgii a Polsko. Tyto pokrývají nejčastěji používané formáty IBAN v Evropě.
Ne. IBANy vytvořené tímto generátorem jsou strukturálně platné, ale náhodně generované. Nejsou spojeny se skutečnými bankovními účty a měly by být používány pouze pro testování, vzdělávací nebo demonstrační účely.
Validátor kontroluje několik aspektů IBAN:
Ne. Ačkoli jsou IBANy často zobrazovány s mezerami pro čitelnost (obvykle ve skupinách čtyř znaků), mezery jsou při validaci ignorovány. Náš nástroj zpracovává jak formátované, tak neformátované IBANy.
Ne. Tento nástroj funguje výhradně ve vašem prohlížeči. Žádná data IBAN nejsou odesílána na žádný server, uložena nebo sdílena s třetími stranami. Vaše data zůstávají soukromá a bezpečná.
V současnosti nástroj validuje pouze IBANy z podporovaných zemí uvedených v rozbalovacím seznamu. Pokud potřebujete validaci pro další země, dejte nám prosím vědět prostřednictvím formuláře pro zpětnou vazbu.
IBAN může selhat při validaci z několika důvodů:
Vítáme zpětnou vazbu na zlepšení nástroje. Prosím, použijte formulář pro zpětnou vazbu dostupný prostřednictvím odkazu na spodní části stránky k hlášení jakýchkoli problémů nebo navrhování vylepšení.
Pro vývojáře, kteří mají zájem implementovat validaci a generování IBANů ve svých aplikacích, zde jsou příklady kódu v různých programovacích jazycích:
1function validateIban(iban) {
2 // Odstranit mezery a převést na velká písmena
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Základní kontrola formátu
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Přesunout první 4 znaky na konec
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 // Převeďte písmena na čísla
13 const converted = rearranged.split('').map(char => {
14 if (/[A-Z]/.test(char)) {
15 return (char.charCodeAt(0) - 55).toString();
16 }
17 return char;
18 }).join('');
19
20 // Vypočítat mod 97
21 let remainder = 0;
22 for (let i = 0; i < converted.length; i++) {
23 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
24 }
25
26 return remainder === 1;
27}
28
29// Příklad použití
30console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
31console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
32console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (neplatné kontrolní číslice)
33
1def validate_iban(iban):
2 # Odstranit mezery a převést na velká písmena
3 iban = iban.replace(' ', '').upper()
4
5 # Základní kontrola formátu
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Přesunout první 4 znaky na konec
10 rearranged = iban[4:] + iban[:4]
11
12 # Převeďte písmena na čísla (A=10, B=11, ..., Z=35)
13 converted = ''
14 for char in rearranged:
15 if char.isalpha():
16 converted += str(ord(char) - 55)
17 else:
18 converted += char
19
20 # Zkontrolovat, zda mod 97 je rovno 1
21 return int(converted) % 97 == 1
22
23# Příklad použití
24print(validate_iban('DE89 3704 0044 0532 0130 00')) # True
25print(validate_iban('GB29 NWBK 6016 1331 9268 19')) # True
26print(validate_iban('DE89 3704 0044 0532 0130 01')) # False (neplatné kontrolní číslice)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Odstranit mezery a převést na velká písmena
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Základní kontrola formátu
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Přesunout první 4 znaky na konec
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Převeďte písmena na čísla
15 StringBuilder converted = new StringBuilder();
16 for (char c : rearranged.toCharArray()) {
17 if (Character.isLetter(c)) {
18 converted.append(c - 'A' + 10);
19 } else {
20 converted.append(c);
21 }
22 }
23
24 // Vypočítat mod 97
25 BigInteger numeric = new BigInteger(converted.toString());
26 return numeric.mod(BigInteger.valueOf(97)).intValue() == 1;
27 }
28
29 public static void main(String[] args) {
30 System.out.println(validateIban("DE89 3704 0044 0532 0130 00")); // true
31 System.out.println(validateIban("GB29 NWBK 6016 1331 9268 19")); // true
32 System.out.println(validateIban("DE89 3704 0044 0532 0130 01")); // false
33 }
34}
35
1function generateIban(countryCode) {
2 const countryFormats = {
3 'DE': { length: 22, bbanPattern: '8n10n' },
4 'GB': { length: 22, bbanPattern: '4a6n8n' },
5 'FR': { length: 27, bbanPattern: '5n5n11c2n' }
6 // Přidejte více zemí podle potřeby
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Kód země ${countryCode} není podporován`);
11 }
12
13 // Generujte náhodný BBAN na základě formátu země
14 let bban = '';
15 const pattern = countryFormats[countryCode].bbanPattern;
16 let i = 0;
17
18 while (i < pattern.length) {
19 const count = parseInt(pattern.substring(i + 1), 10);
20 const type = pattern[i];
21
22 if (type === 'n') {
23 // Generujte numerické znaky
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generujte abecední znaky
29 for (let j = 0; j < count; j++) {
30 bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
31 }
32 } else if (type === 'c') {
33 // Generujte alfanumerické znaky
34 for (let j = 0; j < count; j++) {
35 const isLetter = Math.random() > 0.5;
36 if (isLetter) {
37 bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
38 } else {
39 bban += Math.floor(Math.random() * 10);
40 }
41 }
42 }
43
44 i += 2;
45 }
46
47 // Vypočítat kontrolní číslice
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Vytvořte počáteční IBAN s '00' jako kontrolními číslicemi
55 const initialIban = countryCode + '00' + bban;
56
57 // Přesunout a převést písmena na čísla
58 const rearranged = bban + countryCode + '00';
59 const converted = rearranged.split('').map(char => {
60 if (/[A-Z]/.test(char)) {
61 return (char.charCodeAt(0) - 55).toString();
62 }
63 return char;
64 }).join('');
65
66 // Vypočítat 98 minus mod 97
67 let remainder = 0;
68 for (let i = 0; i < converted.length; i++) {
69 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
70 }
71
72 const checkDigits = (98 - remainder).toString().padStart(2, '0');
73 return checkDigits;
74}
75
76// Příklad použití
77console.log(generateIban('DE')); // Vytváří platný německý IBAN
78console.log(generateIban('GB')); // Vytváří platný britský IBAN
79
1import random
2import string
3
4def generate_iban(country_code):
5 country_formats = {
6 'DE': {'length': 22, 'bban_format': '8n10n'},
7 'GB': {'length': 22, 'bban_format': '4a6n8n'},
8 'FR': {'length': 27, 'bban_format': '5n5n11c2n'}
9 # Přidejte více zemí podle potřeby
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Kód země {country_code} není podporován")
14
15 # Generujte náhodný BBAN na základě formátu země
16 bban = ''
17 format_str = country_formats[country_code]['bban_format']
18 i = 0
19
20 while i < len(format_str):
21 count = int(''.join(c for c in format_str[i+1:] if c.isdigit()))
22 type_char = format_str[i]
23
24 if type_char == 'n': # Číslicový
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Abecední
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumerický
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Vypočítat kontrolní číslice
34 check_digits = calculate_check_digits(country_code, bban)
35
36 return country_code + check_digits + bban
37
38def calculate_check_digits(country_code, bban):
39 # Vytvořte řetězec pro výpočet kontrolních číslic
40 check_string = bban + country_code + '00'
41
42 # Převeďte písmena na čísla (A=10, B=11, ..., Z=35)
43 numeric = ''
44 for char in check_string:
45 if char.isalpha():
46 numeric += str(ord(char.upper()) - 55)
47 else:
48 numeric += char
49
50 # Vypočítat 98 minus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Příklad použití
57print(generate_iban('DE')) # Vytváří platný německý IBAN
58print(generate_iban('GB')) # Vytváří platný britský IBAN
59
Nástroj pro generování a validaci IBAN poskytuje jednoduché, ale výkonné řešení pro testovací a vzdělávací účely související s mezinárodními bankovními identifikátory. Nabídkou jak funkcí generování, tak validace v uživatelsky přívětivém rozhraní eliminuje potřebu složitých konfigurací nebo integrací třetích stran.
Ať už vyvíjíte finanční aplikace, testujete platební systémy nebo se učíte o mezinárodních bankovních standardech, tento nástroj nabízí jednoduchý způsob, jak pracovat s IBANy. Komplexní validace zajišťuje, že všechny generované IBANy jsou strukturálně správné a v souladu s mezinárodními standardy.
Vyzkoušejte generování nebo validaci IBANu nyní, abyste na vlastní oči zažili schopnosti nástroje!
Objevte další nástroje, které by mohly být užitečné pro vaši pracovní postup.