Nástroj pro generování a ověřování IBAN pro testování a verifikaci
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.
Generátor a validátor IBAN
Dokumentace
Nástroj pro generování a validaci IBAN
Úvod
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.
Jak IBANy fungují
Struktura a formát IBAN
IBAN se skládá až z 34 alfanumerických znaků, přičemž přesná délka se liší podle země. Standardní struktura zahrnuje:
- Kód země: Dvouznakový kód ISO 3166-1 alpha-2 (např. DE pro Německo, GB pro Spojené království)
- Kontrolní číslice: Dvě číslice vypočítané pomocí algoritmu MOD 97 pro validaci IBAN
- Základní číslo bankovního účtu (BBAN): Formát specifický pro danou zemi, který může zahrnovat:
- Kód banky
- Kód pobočky (sort code)
- Číslo účtu
- Národní kontrolní číslice
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 účtu
Rů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 |
Algoritmus validace IBAN
Proces validace IBAN používá algoritmus MOD 97, jak je uvedeno ve standardu ISO 7064. Jak to funguje:
- Přesuňte první čtyři znaky (kód země a kontrolní číslice) na konec IBAN
- Převeďte všechny písmena na čísla (A=10, B=11, ..., Z=35)
- Vypočtěte modulo 97 z výsledného čísla
- Pokud zbytek je 1, IBAN je platný
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.
Funkce nástroje
Generátor IBAN
Generátor IBAN vytváří náhodné, ale platné IBANy pro testovací účely. Hlavní funkce zahrnují:
- Výběr země: Vyberte z několika podporovaných zemí včetně Německa, UK, Francie, Španělska, Itálie, Nizozemska, Švýcarska, Rakouska, Belgie a Polska
- Shoda s formátem: Všechny generované IBANy následují specifické formáty pro jednotlivé země a procházejí validací MOD 97
- Generování jedním kliknutím: Okamžitě vytvořte platné IBANy jedním kliknutím na tlačítko
- Kopírování do schránky: Snadno zkopírujte generované IBANy pro použití v testovacích scénářích
- Vizualizace: Zobrazte barevně kódovaný přehled komponent IBANu (kód země, kontrolní číslice, bankovní údaje)
Generátor vytváří IBANy tímto způsobem:
- Výběrem vhodného formátu země
- Generováním náhodných číslic pro část BBAN
- Vypočítáním správných kontrolních číslic pomocí algoritmu MOD 97
- Sestavením kompletního IBANu
Validátor IBAN
Validátor IBAN kontroluje strukturální integritu zadaných IBANů uživateli. Hlavní funkce zahrnují:
- Ověření formátu: Kontroluje, zda IBAN následuje správný formát specifický pro zemi
- Validace MOD 97: Ověřuje kontrolní číslice pomocí standardního algoritmu
- Podrobný přehled: Zobrazuje komponenty platných IBANů (kód země, kontrolní číslice, kód banky, číslo účtu)
- Identifikace chyb: Poskytuje specifické chybové zprávy pro neplatné IBANy
- Pomoc s formátováním: Automaticky formátuje zadané IBANy pro lepší čitelnost
Validátor provádí několik kontrol:
- Ověřuje, zda je kód země podporován
- Kontroluje délku IBANu podle požadavků jednotlivých zemí
- Validuje typy znaků (písmena a číslice na správných místech)
- Provádí kontrolu MOD 97 pro ověření kontrolních číslic
Krok za krokem
Generování IBANu
- Přístup k záložce Generátor: Klikněte na záložku "Generátor" (vybraná jako výchozí)
- Vyberte zemi: Zvolte požadovanou zemi z rozbalovacího menu
- Generujte IBAN: Klikněte na tlačítko "Generovat IBAN"
- Zobrazte výsledek: Vygenerovaný IBAN se zobrazí níže s vizuálním přehledem jeho komponent
- Kopírujte do schránky: Klikněte na tlačítko "Kopírovat do schránky" pro zkopírování IBANu pro další použití
Validace IBANu
- Přístup k záložce Validátor: Klikněte na záložku "Validátor"
- Zadejte IBAN: Zadejte nebo vložte IBAN do vstupního pole
- Mezery a formátování budou automaticky zpracovány
- Nástroj přijímá jak formátované (s mezerami), tak neformátované IBANy
- Zobrazte výsledky validace: Nástroj automaticky ověří IBAN, jakmile píšete
- Zkontrolujte podrobnosti: U platných IBANů se zobrazí přehled komponent
- Zkontrolujte případné chyby: U neplatných IBANů specifické chybové zprávy pomohou identifikovat problém
Případové studie
Nástroj pro generování a validaci IBAN slouží mnoha účelům v různých oblastech:
Vývoj a testování softwaru
- Testování API: Generujte platné IBANy pro testování finančních API bez použití skutečných číslo účtů
- Validace formulářů: Testujte logiku validace IBANů ve webových formulářích a aplikacích
- Testování okrajových případů: Ověřte, jak aplikace zpracovávají IBANy z různých zemí
- Regresní testování: Zajistěte, aby zpracování IBANů zůstalo správné po aktualizacích softwaru
Vývoj finančních aplikací
- Platební systémy: Testujte funkčnost mezinárodního zpracování plateb
- Bankovní software: Ověřte komponenty pro analýzu a validaci IBANů
- Fintech aplikace: Zajistěte shodu s mezinárodními bankovními standardy
- Databázové systémy: Testujte ukládání a načítání dat IBANů
Vzdělávací účely
- Vzdělávání o bankovních standardech: Demonstrujte, jak jsou IBANy strukturovány a validovány
- Finanční gramotnost: Učte studenty o mezinárodních bankovních identifikátorech
- Kódovací tutoriály: Použijte jako příklad pro validační algoritmy a zpracování finančních dat
- Technická dokumentace: Generujte příkladové IBANy pro dokumentaci API
Migrace a konverze dat
- Migrace z legacy systémů: Testujte procesy konverze IBANů při modernizaci systémů
- Anonymizace dat: Generujte testovací IBANy pro nahrazení skutečných číslo účtů v vývojových prostředích
- Zasévání databáze: Vytvářejte realistická testovací data pro databáze finančních aplikací
Alternativy
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:
Komerční bankovní API
- Pro: Nabízejí dodatečnou validaci proti skutečným bankovním registrům, poskytují komplexnější finanční služby
- Proti: Obvykle vyžadují předplatné, API klíče a integrační práce; mohou mít omezení použití
Knihovny IBAN pro programovací jazyky
- Pro: Mohou být integrovány přímo do vašeho kódu, nabízejí programový přístup
- Proti: Vyžadují vývojovou práci na implementaci, mohou potřebovat pravidelné aktualizace, aby zůstaly aktuální se standardy
Oficiální bankovní validátory
- Pro: Poskytovány finančními institucemi, vysoká přesnost pro jejich konkrétní zemi
- Proti: Obvykle omezeny na konkrétní země, nemusí podporovat funkce generování
Ruční výpočty
- Pro: Pomáhá pochopit základní algoritmus, žádné závislosti na externích nástrojích
- Proti: Časově náročné, náchylné k lidským chybám, nepraktické pro testování v měřítku
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.
Často kladené otázky
Co je IBAN?
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.
Jak přesný je tento generátor IBAN?
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.
Které země jsou tímto nástrojem podporovány?
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ě.
Mohu použít generované IBANy pro skutečné transakce?
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.
Jak funguje validace IBAN?
Validátor kontroluje několik aspektů IBAN:
- Platnost kódu země
- Správná délka pro specifikovanou zemi
- Platnost typů znaků (písmena a číslice na správných místech)
- Ověření kontrolních číslic MOD 97 podle standardu ISO
Jsou mezery důležité v IBANu?
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.
Jsou moje data IBAN uložena nebo sdílena při používání tohoto nástroje?
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á.
Mohu validovat IBANy z zemí, které nejsou v rozbalovacím seznamu?
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.
Proč by IBAN, který vypadá platně, mohl selhat při validaci?
IBAN může selhat při validaci z několika důvodů:
- Nesprávné kontrolní číslice
- Nesprávná délka pro specifikovanou zemi
- Neplatné znaky na specifických pozicích
- Překlepy nebo chyby v transpozici
- Kód země není podporován nástrojem
Jak mohu hlásit problémy nebo navrhovat vylepšení?
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í.
Technická implementace
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:
Validace IBAN
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
Generování IBAN
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
Odkazy
- ISO 13616-1:2007 - "Finanční služby - Mezinárodní číslo bankovního účtu (IBAN) - Část 1: Struktura IBAN"
- Evropský výbor pro bankovní standardy (ECBS) - "IBAN: Mezinárodní číslo bankovního účtu"
- SWIFT - "Registr IBAN"
- Evropská platební rada - "IBAN a identifikátor věřitele"
- Banka pro mezinárodní vyrovnání - "Systémy plateb, clearingu a vyrovnání"
- Evropská centrální banka - "Jednotná oblast euro plateb (SEPA)"
- ISO 9362 - "Bankovnictví - Bankovní telekomunikační zprávy - Kód identifikátoru podnikání (BIC)"
- ISO 7064 - "Informační technologie - Bezpečnostní techniky - Systémy kontrolních znaků"
Závěr
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!
Zpětná vazba
Klikněte na toast se zpětnou vazbou a začněte dávat zpětnou vazbu o tomto nástroji
Související nástroje
Objevte další nástroje, které by mohly být užitečné pro váš pracovní postup