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.
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.
IBAN se sastoji od do 34 alfanumerička znaka, iako točna duljina varira od zemlje do zemlje. Standardna struktura uključuje:
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čunaRazlič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 |
Proces validacije IBAN-a koristi MOD 97 algoritam kako je specificirano u ISO 7064 standardu. Evo kako to funkcionira:
Matematički, ovo se predstavlja kao:
Naš validator implementira ovaj algoritam kako bi provjerio strukturnu cjelovitost bilo kojeg IBAN-a koji unesu korisnici.
Generator IBAN-a stvara nasumične, ali valjane IBAN-ove za testne svrhe. Ključne značajke uključuju:
Generator stvara IBAN-ove tako što:
Validator IBAN-a provjerava strukturnu cjelovitost IBAN-ova koje unose korisnici. Ključne značajke uključuju:
Validator provodi više provjera:
Alat za generiranje i validaciju IBAN-a služi višestrukim svrhama u različitim domenama:
Iako naš alat za generiranje i validaciju IBAN-a nudi pojednostavljeno iskustvo za testne svrhe, postoje alternativni pristupi koje treba razmotriti:
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.
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.
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.
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.
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.
Validator provjerava nekoliko aspekata IBAN-a:
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.
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.
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.
IBAN bi mogao propasti validaciju iz nekoliko razloga:
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.
Za programere zainteresirane za implementaciju validacije i generiranja IBAN-a u vlastitim aplikacijama, evo primjera koda na raznim programskim jezicima:
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
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
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!
Otkrijte više alata koji bi mogli biti korisni za vaš radni proces