Kreirajte nasumične IBAN-ove koji su u skladu sa formatom ili validirajte postojeće pomoću našeg jednostavnog alata. Savršeno za testiranje finansijskih aplikacija, bankarskog softvera i obrazovne svrhe.
Alat za generisanje i validaciju međunarodnog broja bankovnog računa (IBAN) je sveobuhvatan alat dizajniran za testiranje i verifikaciju u finansijskim aplikacijama, bankarskom softveru i obrazovnim kontekstima. Ova aplikacija jednostavna za korišćenje nudi dve osnovne funkcije: generisanje nasumičnih, ali formatom usklađenih IBAN-ova i validaciju strukturne celovitosti IBAN-ova koje unose korisnici. Bilo da ste programer koji testira finansijski softver, QA specijalista koji proverava bankarske aplikacije ili edukator koji objašnjava međunarodne bankarske standarde, ovaj alat pruža jednostavno rešenje bez potrebe za složenim konfiguracijama ili integracijama trećih strana.
IBAN-ovi (međunarodni brojevi bankovnih računa) su standardizovani 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 države, kontrolnih cifara i osnovnog broja bankovnog računa (BBAN) koji prati formate specifične za državu. Naš alat podržava više formata zemalja i osigurava da svi generisani IBAN-ovi prođu MOD 97 validacioni algoritam specificiran u ISO 13616 standardu.
IBAN se sastoji od do 34 alfanumerička karaktera, iako tačna dužina varira od zemlje do zemlje. Standardna struktura uključuje:
Na primer, nemački IBAN prati strukturu DE2!n8!n10!n
gde:
DE
je kod države2!n
predstavlja dve numeričke kontrolne cifre8!n
predstavlja osam cifara za kod banke10!n
predstavlja deset cifara za broj računaRazličite zemlje imaju različite BBAN formate, što rezultira varijacijama u dužini IBAN-a:
Zemlja | Dužina | Struktura | Primer |
---|---|---|---|
Nemačka (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Velika Britanija (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 kao što je specificirano u ISO 7064 standardu. Evo kako to funkcioniše:
Matematički, ovo se predstavlja kao:
Naš validator implementira ovaj algoritam kako bi proverio strukturnu celovitost bilo kog IBAN-a koji unesu korisnici.
IBAN generator kreira nasumične, ali validne IBAN-ove za testiranje. Ključne funkcije uključuju:
Generator kreira IBAN-ove tako što:
IBAN validator proverava strukturnu celovitost IBAN-ova koje unose korisnici. Ključne funkcije uključuju:
Validator vrši više provera:
Alat za generisanje i validaciju IBAN-a služi više svrha u različitim domenima:
Dok naš alat za generisanje i validaciju IBAN-a nudi pojednostavljeno iskustvo za testne svrhe, postoje alternativni pristupi koje treba razmotriti:
Naš alat zatvara razliku između ovih alternativa pružajući jednostavno, pristupačno sučelje za generisanje i validaciju bez potrebe za tehničkom integracijom ili plaćenim pretplatama.
IBAN (međunarodni broj bankovnog računa) je standardizovani međunarodni sistem numerisanja razvijen kako bi identifikovao bankovne račune širom nacionalnih granica. Uspostavila ga je Međunarodna organizacija za standardizaciju (ISO) kako bi olakšala bezgrešne međunarodne transakcije.
Generator IBAN-a kreira strukturno validne IBAN-ove koji prolaze MOD 97 kontrolni algoritam kako je specificirano u ISO 13616 standardu. Dok su generisani IBAN-ovi matematički validni, oni su nasumični i nisu povezani sa stvarnim bankovnim računima, što ih čini savršenim za testiranje, ali ne i za prave transakcije.
Alat trenutno podržava IBAN formate za Nemačku, Veliku Britaniju, Francusku, Španiju, Italiju, Holandiju, Švajcarsku, Austriju, Belgiju i Poljsku. Ove pokrivaju najčešće korišćene IBAN formate u Evropi.
Ne. IBAN-ovi koje kreira ovaj generator su strukturno validni, ali nasumično generisani. Nisu povezani sa stvarnim bankovnim računima i trebaju se koristiti samo za testiranje, obrazovne ili demonstracione svrhe.
Validator proverava nekoliko aspekata IBAN-a:
Ne. Dok se IBAN-ovi često prikazuju sa razmacima radi čitljivosti (obično u grupama od četiri karaktera), razmaci se ignorišu tokom validacije. Naš alat obrađuje i formatirane (sa razmacima) i neformatirane IBAN-ove.
Ne. Ovaj alat funkcioniše potpuno u vašem pretraživaču. Nema IBAN podataka se šalje na bilo koji server, čuva ili deli sa trećim stranama. Vaši podaci ostaju privatni i sigurni.
Trenutno, alat validira samo IBAN-ove iz podržanih zemalja navedenih u padajućem meniju. Ako vam je potrebna validacija za dodatne zemlje, molimo vas da nas obavestite putem obrasca za povratne informacije.
IBAN može da ne prođe validaciju iz više razloga:
Dobrodošli smo na povratne informacije kako bismo poboljšali alat. Molimo vas da koristite obrazac za povratne informacije dostupan putem linka na dnu stranice da prijavite bilo kakve probleme ili predložite poboljšanja.
Za programere zainteresovane za implementaciju validacije i generisanja IBAN-a u svojim aplikacijama, evo primera koda na različitim programskim jezicima:
1function validateIban(iban) {
2 // Uklonite razmake i konvertujte u velika slova
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Provera osnovnog formata
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Premestite prva 4 karaktera na kraj
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 // Pretvorite 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čunajte 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// Primer korišćenja
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 cifre)
33
1def validate_iban(iban):
2 # Uklonite razmake i konvertujte u velika slova
3 iban = iban.replace(' ', '').upper()
4
5 # Osnovna provera formata
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Premestite prva 4 karaktera na kraj
10 rearranged = iban[4:] + iban[:4]
11
12 # Pretvorite 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 # Proverite da li mod 97 jednako 1
21 return int(converted) % 97 == 1
22
23# Primer korišćenja
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 cifre)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Uklonite razmake i konvertujte u velika slova
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Osnovna provera formata
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Premestite prva 4 karaktera na kraj
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Pretvorite 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čunajte 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 // Generišite nasumični BBAN na osnovu 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 // Generišite numeričke karaktere
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generišite alfabetske karaktere
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 // Generišite alfanumeričke karaktere
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čunajte kontrolne cifre
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Kreirajte inicijalni IBAN sa '00' kao kontrolnim ciframa
55 const initialIban = countryCode + '00' + bban;
56
57 // Premestite i konvertujte 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čunajte 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// Primer korišćenja
77console.log(generateIban('DE')); // Generiše validan nemački IBAN
78console.log(generateIban('GB')); // Generiše validan britanski 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 # 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 # Generišite nasumični BBAN na osnovu 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': # Alfabetski
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čunajte kontrolne cifre
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 # Kreirajte string za izračunavanje kontrolnih cifara
40 check_string = bban + country_code + '00'
41
42 # Pretvorite 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čunajte 98 minus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Primer korišćenja
57print(generate_iban('DE')) # Generiše validan nemački IBAN
58print(generate_iban('GB')) # Generiše validan britanski IBAN
59
Alat za generisanje i validaciju IBAN-a pruža jednostavno, ali moćno rešenje za testiranje i obrazovne svrhe u vezi sa međunarodnim bankarskim identifikatorima. Pružajući i mogućnosti generisanja i validacije u korisničkom interfejsu, eliminiše potrebu za složenim konfiguracijama ili integracijama trećih strana.
Bilo da razvijate finansijske aplikacije, testirate sisteme plaćanja ili učite o međunarodnim bankarskim standardima, ovaj alat nudi jednostavan način za rad sa IBAN-ovima. Sveobuhvatna validacija osigurava da su svi generisani IBAN-ovi strukturno ispravni i u skladu sa međunarodnim standardima.
Pokušajte da generišete ili validirate IBAN sada kako biste iskusili mogućnosti alata iz prve ruke!
Otkrijte više alata koji mogu biti korisni za vaš radni proces