Alat za generiranje i validaciju IBAN-a za testiranje i verifikaciju
Kreirajte nasumične IBAN-ove u skladu s formatom ili validirajte postojeće pomoću našeg jednostavnog alata. Savršeno za testiranje financijskih aplikacija, bankarskog softvera i obrazovne svrhe.
Generator i Validacija IBAN-a
Dokumentacija
Alat za generiranje i validaciju IBAN-a
Uvod
Alat za generiranje i validaciju Međunarodnog broja bankovnog računa (IBAN) je sveobuhvatan alat dizajniran za testiranje i verifikaciju u financijskim aplikacijama, bankarskom softveru i obrazovnim kontekstima. Ova korisnička aplikacija nudi dvije osnovne funkcije: generiranje nasumičnih, ali formatom usklađenih IBAN-ova i validaciju strukturne cjelovitosti IBAN-ova koje unose korisnici. Bilo da ste programer koji testira financijski softver, QA stručnjak koji provjerava bankarske aplikacije ili edukator koji objašnjava međunarodne bankarske standarde, ovaj alat pruža jednostavno rješenje bez potrebe za složenim konfiguracijama ili integracijama trećih strana.
IBAN-ovi (Međunarodni brojevi bankovnih računa) su standardizirani identifikatori računa koji se koriste međunarodno kako bi se olakšale prekogranične transakcije i smanjile greške u međunarodnim novčanim transferima. Svaki IBAN se sastoji od koda zemlje, kontrolnih znamenki i osnovnog broja bankovnog računa (BBAN) koji slijedi formate specifične za zemlju. Naš alat podržava više formata zemalja i osigurava da svi generirani IBAN-ovi prođu MOD 97 validacijski algoritam specificiran u ISO 13616 standardu.
Kako IBAN-ovi funkcioniraju
Struktura i format IBAN-a
IBAN se sastoji od do 34 alfanumerička znaka, iako točna duljina varira od zemlje do zemlje. Standardna struktura uključuje:
- Kod zemlje: Dvije slova ISO 3166-1 alfa-2 koda (npr. DE za Njemačku, GB za Ujedinjeno Kraljevstvo)
- Kontrolne znamenke: Dvije znamenke izračunate pomoću MOD 97 algoritma za validaciju IBAN-a
- Osnovni broj bankovnog računa (BBAN): Format specifičan za zemlju koji može uključivati:
- Kod banke
- Kod podružnice (sortni kod)
- Broj računa
- Nacionalne kontrolne znamenke
Na primjer, njemački IBAN slijedi strukturu DE2!n8!n10!n
gdje:
DE
je kod zemlje2!n
predstavlja dvije numeričke kontrolne znamenke8!n
predstavlja osam znamenki koda banke10!n
predstavlja deset znamenki broja računa
Različite zemlje imaju različite BBAN formate, što rezultira različitim duljinama IBAN-a:
Zemlja | Duljina | Struktura | Primjer |
---|---|---|---|
Njemačka (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
UK (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Francuska (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Španija (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Italija (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Algoritam validacije IBAN-a
Proces validacije IBAN-a koristi MOD 97 algoritam kako je specificirano u ISO 7064 standardu. Evo kako to funkcionira:
- Premjestite prva četiri znaka (kod zemlje i kontrolne znamenke) na kraj IBAN-a
- Pretvorite sve slova u brojeve (A=10, B=11, ..., Z=35)
- Izračunajte modulo 97 rezultantnog broja
- Ako ostatak iznosi 1, IBAN je valjan
Matematički, ovo se predstavlja kao:
Naš validator implementira ovaj algoritam kako bi provjerio strukturnu cjelovitost bilo kojeg IBAN-a koji unesu korisnici.
Značajke alata
Generator IBAN-a
Generator IBAN-a stvara nasumične, ali valjane IBAN-ove za testne svrhe. Ključne značajke uključuju:
- Odabir zemlje: Odaberite između više podržanih zemalja uključujući Njemačku, UK, Francusku, Španiju, Italiju, Nizozemsku, Švicarsku, Austriju, Belgiju i Poljsku
- Usklađenost s formatom: Svi generirani IBAN-ovi slijede formate specifične za zemlju i prolaze MOD 97 validaciju
- Generiranje jednim klikom: Odmah stvorite valjane IBAN-ove jednim klikom na gumb
- Kopiranje u međuspremnik: Lako kopirajte generirane IBAN-ove za korištenje u testnim scenarijima
- Vizualna reprezentacija: Vidite raznobojni prikaz komponenti IBAN-a (kod zemlje, kontrolne znamenke, podaci o banci)
Generator stvara IBAN-ove tako što:
- Odabire odgovarajući format zemlje
- Generira nasumične znamenke za BBAN dio
- Izračunava ispravne kontrolne znamenke koristeći MOD 97 algoritam
- Sastavlja cjelokupni IBAN
Validator IBAN-a
Validator IBAN-a provjerava strukturnu cjelovitost IBAN-ova koje unose korisnici. Ključne značajke uključuju:
- Verifikacija formata: Provjerava slijedi li IBAN ispravan format specifičan za zemlju
- MOD 97 validacija: Provjerava kontrolne znamenke koristeći standardni algoritam
- Detaljna analiza: Prikazuje komponente valjanih IBAN-ova (kod zemlje, kontrolne znamenke, kod banke, broj računa)
- Identifikacija grešaka: Pruža specifične poruke o greškama za nevažeće IBAN-ove
- Pomoć pri formatiranju: Automatski formatira unesene IBAN-ove radi bolje čitljivosti
Validator provodi više provjera:
- Provjerava je li kod zemlje podržan
- Provjerava duljinu IBAN-a prema zahtjevima specifičnim za zemlju
- Validira tipove znakova (slova i brojeve na pravim pozicijama)
- Provodi MOD 97 provjeru kako bi verificirao kontrolne znamenke
Vodič korak po korak
Generiranje IBAN-a
- Pristupite kartici Generator: Kliknite na "Generator" karticu (odabrana prema zadanim postavkama)
- Odaberite zemlju: Odaberite željenu zemlju iz padajućeg izbornika
- Generirajte IBAN: Kliknite gumb "Generiraj IBAN"
- Pogledajte rezultat: Generirani IBAN će se pojaviti ispod s vizualnim prikazom njegovih komponenti
- Kopirajte u međuspremnik: Kliknite gumb "Kopiraj u međuspremnik" kako biste kopirali IBAN za daljnju upotrebu
Validacija IBAN-a
- Pristupite kartici Validator: Kliknite na "Validator" karticu
- Unesite IBAN: Upisujte ili zalijepite IBAN u ulazno polje
- Razmaci i formatiranje će se automatski obraditi
- Alat prihvaća i formatirane (s razmacima) i neformatirane IBAN-ove
- Pogledajte rezultate validacije: Alat će automatski validirati IBAN dok tipkate
- Provjerite detalje: Za valjane IBAN-ove, prikazat će se razrada komponenti
- Pogledajte sve greške: Za nevažeće IBAN-ove, specifične poruke o greškama pomoći će identificirati problem
Slučajevi korištenja
Alat za generiranje i validaciju IBAN-a služi višestrukim svrhama u različitim domenama:
Razvoj i testiranje softvera
- Testiranje API-ja: Generirajte valjane IBAN-ove za testiranje financijskih API-ja bez korištenja pravih brojeva računa
- Validacija obrazaca: Testirajte IBAN validacijske logike u web obrascima i aplikacijama
- Testiranje rubnih slučajeva: Provjerite kako aplikacije obrađuju IBAN-ove iz različitih zemalja
- Regresijsko testiranje: Osigurajte da se rukovanje IBAN-ima ispravno održava nakon ažuriranja softvera
Razvoj financijskih aplikacija
- Sustavi plaćanja: Testirajte funkcionalnost međunarodnog procesuiranja plaćanja
- Bankarski softver: Provjerite komponente za parsiranje i validaciju IBAN-a
- Fintech aplikacije: Osigurajte usklađenost s međunarodnim bankarskim standardima
- Sustavi baza podataka: Testirajte pohranu i preuzimanje podataka o IBAN-u
Obrazovne svrhe
- Obrazovanje o bankarskim standardima: Prikažite kako su IBAN-ovi strukturirani i validirani
- Financijska pismenost: Podučavajte studente o međunarodnim bankovnim identifikatorima
- Tutorijali o kodiranju: Koristite kao primjer za validacijske algoritme i rukovanje financijskim podacima
- Tehnička dokumentacija: Generirajte primjere IBAN-ova za API dokumentaciju
Migracija i konverzija podataka
- Migracija s naslijeđenih sustava: Testirajte procese konverzije IBAN-a prilikom nadogradnje sustava
- Anonimizacija podataka: Generirajte testne IBAN-ove kako biste zamijenili prave brojeve računa u razvojnim okruženjima
- Seeding baza podataka: Kreirajte realistične testne podatke za baze podataka financijskih aplikacija
Alternativa
Iako naš alat za generiranje i validaciju IBAN-a nudi pojednostavljeno iskustvo za testne svrhe, postoje alternativni pristupi koje treba razmotriti:
Komercijalni bankovni API-ji
- Pros: Nude dodatnu validaciju protiv stvarnih bankovnih registara, pružaju sveobuhvatnije financijske usluge
- Cons: Obično zahtijevaju pretplate, API ključeve i rad na integraciji; mogu imati ograničenja korištenja
IBAN biblioteke za programske jezike
- Pros: Mogu se integrirati izravno u vašu kodnu bazu, nude programatski pristup
- Cons: Zahtijevaju razvojni rad za implementaciju, mogu trebati redovita ažuriranja kako bi ostali u skladu sa standardima
Službeni bankovni validatori
- Pros: Pružaju financijske institucije, visoka točnost za njihovu specifičnu zemlju
- Cons: Obično su ograničeni na specifične zemlje, možda ne podržavaju funkcije generiranja
Ručna kalkulacija
- Pros: Pomaže razumjeti osnovni algoritam, nema ovisnosti o vanjskim alatima
- Cons: Vrijeme potrebno, sklono ljudskim greškama, nepraktično za testiranje u velikim razmjerima
Naš alat premošćuje razliku između ovih alternativa pružajući jednostavno, pristupačno sučelje za generiranje i validaciju bez potrebe za tehničkom integracijom ili plaćenim pretplatama.
Često postavljana pitanja
Što je IBAN?
IBAN (Međunarodni broj bankovnog računa) je standardizirani međunarodni sustav numeriranja razvijen za identifikaciju bankovnih računa preko nacionalnih granica. Uspostavila ga je Međunarodna organizacija za standardizaciju (ISO) kako bi olakšala bezgrešne međunarodne transakcije.
Koliko je točan ovaj generator IBAN-a?
Generator IBAN-a stvara strukturno valjane IBAN-ove koji prolaze MOD 97 provjeru algoritma kako je specificirano u ISO 13616 standardu. Iako su generirani IBAN-ovi matematički valjani, oni su nasumični i nisu povezani s pravim bankovnim računima, što ih čini savršenima za testiranje, ali ne i za stvarne transakcije.
Koje zemlje podržava ovaj alat?
Alat trenutno podržava IBAN formate za Njemačku, Ujedinjeno Kraljevstvo, Francusku, Španiju, Italiju, Nizozemsku, Švicarsku, Austriju, Belgiju i Poljsku. Ove pokrivaju najčešće korištene IBAN formate u Europi.
Mogu li koristiti generirane IBAN-ove za stvarne transakcije?
Ne. IBAN-ovi koje stvara ovaj generator su strukturno valjani, ali nasumično generirani. Nisu povezani s pravim bankovnim računima i trebaju se koristiti samo za testiranje, obrazovne ili demonstracijske svrhe.
Kako radi validacija IBAN-a?
Validator provjerava nekoliko aspekata IBAN-a:
- Valjanost koda zemlje
- Ispravna duljina za određenu zemlju
- Valjanost tipa znakova (slova i brojevi na pravim pozicijama)
- Provjera kontrolnih znamenki MOD 97 prema ISO standardu
Jesu li razmaci važni u IBAN-u?
Ne. Iako se IBAN-ovi često prikazuju s razmacima radi čitljivosti (obično u grupama od četiri znaka), razmaci se ignoriraju tijekom validacije. Naš alat obrađuje i formatirane (s razmacima) i neformatirane IBAN-ove.
Pohranjuje li se ili dijeli moj IBAN podatak kada koristim ovaj alat?
Ne. Ovaj alat radi isključivo u vašem pregledniku. Nema IBAN podataka koji se šalju na bilo koji server, pohranjuju ili dijele s trećim stranama. Vaši podaci ostaju privatni i sigurni.
Mogu li validirati IBAN-ove iz zemalja koje nisu u padajućem popisu?
Trenutno alat validira samo IBAN-ove iz podržanih zemalja navedenih u padajućem popisu. Ako vam je potrebna validacija za dodatne zemlje, molimo javite nam putem obrasca za povratne informacije.
Zašto bi IBAN koji izgleda valjano mogao propasti validaciju?
IBAN bi mogao propasti validaciju iz nekoliko razloga:
- Neispravne kontrolne znamenke
- Pogrešna duljina za određenu zemlju
- Neispravni znakovi na specifičnim pozicijama
- Tipfelovi ili greške u transpoziciji
- Kod zemlje nije podržan alatom
Kako mogu prijaviti probleme ili predložiti poboljšanja?
Dobrodošli smo u povratne informacije za poboljšanje alata. Molimo koristite obrazac za povratne informacije dostupan putem veze na dnu stranice za prijavu bilo kakvih problema ili prijedloga za poboljšanje.
Tehnička implementacija
Za programere zainteresirane za implementaciju validacije i generiranja IBAN-a u vlastitim aplikacijama, evo primjera koda na raznim programskim jezicima:
Validacija IBAN-a
1function validateIban(iban) {
2 // Ukloni razmake i pretvori u velika slova
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Provjera osnovnog formata
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Premjesti prva 4 znaka na kraj IBAN-a
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 // Pretvori slova u brojeve
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 // Izračunaj 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// Primjer korištenja
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 (neispravne kontrolne znamenke)
33
1def validate_iban(iban):
2 # Ukloni razmake i pretvori u velika slova
3 iban = iban.replace(' ', '').upper()
4
5 # Provjera osnovnog formata
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Premjesti prva 4 znaka na kraj
10 rearranged = iban[4:] + iban[:4]
11
12 # Pretvori slova u brojeve (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 # Provjeri da li mod 97 jednako 1
21 return int(converted) % 97 == 1
22
23# Primjer korištenja
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 (neispravne kontrolne znamenke)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Ukloni razmake i pretvori u velika slova
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Provjera osnovnog formata
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Premjesti prva 4 znaka na kraj
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Pretvori slova u brojeve
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 // Izračunaj 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
Generiranje IBAN-a
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 // Dodajte više zemalja po potrebi
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Kod zemlje ${countryCode} nije podržan`);
11 }
12
13 // Generiraj nasumični BBAN na temelju formata zemlje
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 // Generiraj numeričke znakove
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generiraj abecedne znakove
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 // Generiraj alfanumeričke znakove
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 // Izračunaj kontrolne znamenke
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Stvori inicijalni IBAN s '00' kao kontrolnim znamenkama
55 const initialIban = countryCode + '00' + bban;
56
57 // Premjesti i pretvori slova u brojeve
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 // Izračunaj 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// Primjer korištenja
77console.log(generateIban('DE')); // Generira valjani njemački IBAN
78console.log(generateIban('GB')); // Generira valjani IBAN iz UK
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 # Dodajte više zemalja po potrebi
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Kod zemlje {country_code} nije podržan")
14
15 # Generiraj nasumični BBAN na temelju formata zemlje
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': # Numerički
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Abecedni
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumerički
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Izračunaj kontrolne znamenke
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 # Stvori string za izračun kontrolnih znamenki
40 check_string = bban + country_code + '00'
41
42 # Pretvori slova u brojeve (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 # Izračunaj 98 minus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Primjer korištenja
57print(generate_iban('DE')) # Generira valjani njemački IBAN
58print(generate_iban('GB')) # Generira valjani IBAN iz UK
59
Reference
- ISO 13616-1:2007 - "Financijske usluge - Međunarodni broj bankovnog računa (IBAN) - Dio 1: Struktura IBAN-a"
- Europski odbor za bankarske standarde (ECBS) - "IBAN: Međunarodni broj bankovnog računa"
- SWIFT - "IBAN registar"
- Europsko vijeće za plaćanja - "IBAN i identifikator vjerovnika"
- Banka za međunarodna poravnanja - "Sustavi plaćanja, kliringa i poravnanja"
- Europska središnja banka - "Jedinstveno područje plaćanja u eurima (SEPA)"
- ISO 9362 - "Bankarstvo - Bankarske telekomunikacijske poruke - Kod poslovnog identifikatora (BIC)"
- ISO 7064 - "Informacijska tehnologija - Tehnike sigurnosti - Sustavi kontrolnih znakova"
Zaključak
Alat za generiranje i validaciju IBAN-a pruža jednostavno, ali moćno rješenje za testiranje i obrazovne svrhe vezane uz međunarodne bankovne identifikatore. Pružajući i mogućnosti generiranja i validacije u korisničkom sučelju, eliminira potrebu za složenim konfiguracijama ili integracijama trećih strana.
Bilo da razvijate financijske aplikacije, testirate sustave plaćanja ili učite o međunarodnim bankarskim standardima, ovaj alat nudi jednostavan način za rad s IBAN-ima. Sveobuhvatna validacija osigurava da su svi generirani IBAN-ovi strukturno ispravni i u skladu s međunarodnim standardima.
Pokušajte generirati ili validirati IBAN sada kako biste iz prve ruke iskusili mogućnosti alata!
Povratne informacije
Kliknite na povratnu informaciju da biste počeli davati povratne informacije o ovom alatu
Povezani alati
Otkrijte više alata koji bi mogli biti korisni za vaš radni proces