Orodje za generiranje in preverjanje IBAN-ov za testiranje in verifikacijo
Ustvarite naključne IBAN-e, ki ustrezajo formatu, ali preverite obstoječe z našim preprostim orodjem. Popolno za testiranje finančnih aplikacij, bančne programske opreme in izobraževalne namene.
Generator in Validacija IBAN
Dokumentacija
Orodje za generiranje in preverjanje IBAN-ov
Uvod
Orodje za generiranje in preverjanje mednarodnih številk bančnih računov (IBAN) je celovito orodje, zasnovano za testiranje in preverjanje v finančnih aplikacijah, bančnih programskih rešitvah in izobraževalnih kontekstih. Ta uporabniku prijazna aplikacija ponuja dve osnovni funkciji: generiranje naključnih, a formatno skladnih IBAN-ov in preverjanje strukturne celovitosti IBAN-ov, ki jih vnesejo uporabniki. Ne glede na to, ali ste razvijalec, ki testira finančno programsko opremo, specialist za zagotavljanje kakovosti, ki preverja bančne aplikacije, ali izobraževalec, ki razlaga mednarodne bančne standarde, to orodje ponuja preprosto rešitev brez potrebe po zapletenih konfiguracijah ali integracijah tretjih oseb.
IBAN-i (mednarodne številke bančnih računov) so standardizirani identifikatorji računov, ki se uporabljajo mednarodno za olajšanje čezmejnih transakcij in zmanjšanje napak pri mednarodnih prenosih denarja. Vsak IBAN je sestavljen iz kode države, kontrolnih številk in osnovne številke bančnega računa (BBAN), ki sledi državno specifičnim formatom. Naše orodje podpira več formatov držav in zagotavlja, da vsi generirani IBAN-i prestanejo MOD 97 preverjanje, ki ga določa standard ISO 13616.
Kako delujejo IBAN-i
Struktura in format IBAN-a
IBAN je sestavljen iz največ 34 alfanumeričnih znakov, čeprav se natančna dolžina razlikuje glede na državo. Standardna struktura vključuje:
- Koda države: Dvotaktnik ISO 3166-1 alpha-2 (npr. DE za Nemčijo, GB za Združeno kraljestvo)
- Kontrolne številke: Dve številki, izračunani z uporabo algoritma MOD 97 za preverjanje IBAN-a
- Osnovna številka bančnega računa (BBAN): Državno specifičen format, ki lahko vključuje:
- Kodo banke
- Kodo podružnice (sortna koda)
- Številko računa
- Nacionalne kontrolne številke
Na primer, nemški IBAN sledi strukturi DE2!n8!n10!n
, kjer:
DE
je koda države2!n
predstavlja dve številčni kontrolni številki8!n
predstavlja osemmestno kodo banke10!n
predstavlja desetmestno številko računa
Različne države imajo različne formate BBAN, kar vodi do različnih dolžin IBAN-ov:
Država | Dolžina | Struktura | Primer |
---|---|---|---|
Nemčija (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Združeno kraljestvo (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Francija (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 |
Algoritem preverjanja IBAN-a
Postopek preverjanja IBAN-a uporablja algoritem MOD 97, kot je določeno v standardu ISO 7064. Tukaj je, kako deluje:
- Premaknite prvih štiri znake (koda države in kontrolne številke) na konec IBAN-a
- Pretvorite vse črke v številke (A=10, B=11, ..., Z=35)
- Izračunajte modulo 97 rezultantne številke
- Če ostanek enak 1, je IBAN veljaven
Matematično to predstavljamo kot:
Naš preverjevalnik implementira ta algoritem za preverjanje strukturne celovitosti katerega koli IBAN-a, ki ga vnesejo uporabniki.
Značilnosti orodja
Generiranje IBAN-a
Generator IBAN-ov ustvarja naključne, a veljavne IBAN-e za testne namene. Ključne značilnosti vključujejo:
- Izbira države: Izberite med več podprtimi državami, vključno z Nemčijo, Združenim kraljestvom, Francijo, Španijo, Italijo, Nizozemsko, Švico, Avstrijo, Belgijo in Poljsko
- Skladnost s formatom: Vsi generirani IBAN-i sledijo državno specifičnim formatom in prestanejo MOD 97 preverjanje
- Generiranje z enim klikom: Takoj ustvarite veljavne IBAN-e z enim klikom na gumb
- Kopiranje v odložišče: Enostavno kopirajte generirane IBAN-e za uporabo v testnih scenarijih
- Vizualna predstavitev: Oglejte si barvno kodirano razčlenitev komponent IBAN-a (koda države, kontrolne številke, podatki o banki)
Generator ustvarja IBAN-e tako, da:
- Izbere ustrezen format države
- Ustvari naključne številke za del BBAN
- Izračuna pravilne kontrolne številke z uporabo algoritma MOD 97
- Sestavi celoten IBAN
Preverjanje IBAN-a
Preverjevalnik IBAN-ov preverja strukturno celovitost IBAN-ov, ki jih vnesejo uporabniki. Ključne značilnosti vključujejo:
- Preverjanje formata: Preveri, ali IBAN sledi pravilnemu državno specifičnemu formatu
- MOD 97 preverjanje: Preveri kontrolne številke z uporabo standardnega algoritma
- Podrobna razčlenitev: Prikazuje komponente veljavnih IBAN-ov (koda države, kontrolne številke, koda banke, številka računa)
- Identifikacija napak: Ponuja specifična sporočila o napakah za neveljavne IBAN-e
- Pomoč pri formatiranju: Samodejno formatira vnešene IBAN-e za boljšo berljivost
Preverjevalnik izvaja več preverjanj:
- Preveri, ali je koda države podprta
- Preveri dolžino IBAN-a glede na zahteve posamezne države
- Preveri veljavnost tipov znakov (črke in številke na pravih mestih)
- Izvede MOD 97 preverjanje za potrditev kontrolnih številk
Navodila po korakih
Generiranje IBAN-a
- Dostop do zavihka Generator: Kliknite na zavihek "Generator" (privzeto izbran)
- Izberite državo: Izberite želeno državo iz spustnega menija
- Generirajte IBAN: Kliknite gumb "Generiraj IBAN"
- Oglejte si rezultat: Generirani IBAN se bo prikazal spodaj z vizualno razčlenitvijo njegovih komponent
- Kopirajte v odložišče: Kliknite gumb "Kopiraj v odložišče", da kopirate IBAN za uporabo drugje
Preverjanje IBAN-a
- Dostop do zavihka Preverjanje: Kliknite na zavihek "Preverjanje"
- Vnesite IBAN: Vnesite ali prilepite IBAN v vhodno polje
- Prostor in formatiranje bosta samodejno obdelana
- Orodje sprejema tako formatirane (s presledki) kot neformatirane IBAN-e
- Oglejte si rezultate preverjanja: Orodje bo samodejno preverilo IBAN, ko tipkate
- Preverite podrobnosti: Za veljavne IBAN-e bo prikazana razčlenitev komponent
- Preverite morebitne napake: Za neveljavne IBAN-e bodo specifična sporočila o napakah pomagala pri identifikaciji težave
Uporabniški primeri
Orodje za generiranje in preverjanje IBAN-ov služi več namenom v različnih domenah:
Razvoj programske opreme in testiranje
- Testiranje API-jev: Generirajte veljavne IBAN-e za testiranje finančnih API-jev brez uporabe pravih številk računov
- Preverjanje obrazcev: Preizkusite logiko preverjanja IBAN-ov v spletnih obrazcih in aplikacijah
- Testiranje robnih primerov: Preverite, kako aplikacije obravnavajo IBAN-e iz različnih držav
- Regresijsko testiranje: Preverite, ali obravnavajo IBAN-e pravilno po posodobitvah programske opreme
Razvoj finančnih aplikacij
- Plačilni sistemi: Preizkusite funkcionalnost obdelave mednarodnih plačil
- Bančna programska oprema: Preverite komponente za razčlenitev in preverjanje IBAN-ov
- Fintech aplikacije: Zagotovite skladnost z mednarodnimi bančnimi standardi
- Sistemi baz podatkov: Preizkusite shranjevanje in pridobivanje podatkov IBAN
Izobraževalne namene
- Izobraževanje o bančnih standardih: Prikazujte, kako so IBAN-i strukturirani in preverjeni
- Finančna pismenost: Učite študente o mednarodnih bančnih identifikatorjih
- Učbeniki za programiranje: Uporabite kot primer za algoritme preverjanja in obravnavo finančnih podatkov
- Tehnična dokumentacija: Generirajte primerne IBAN-e za dokumentacijo API-jev
Migracija in konverzija podatkov
- Migracija iz legacijske sistema: Preizkusite postopke konverzije IBAN-ov pri nadgradnji sistemov
- Anonimizacija podatkov: Generirajte testne IBAN-e, da nadomestite prave številke računov v razvojnih okoljih
- Sejanje baz podatkov: Ustvarite realistične testne podatke za baze podatkov finančnih aplikacij
Alternativa
Medtem ko naše orodje za generiranje in preverjanje IBAN-ov ponuja poenostavljeno izkušnjo za testne namene, obstajajo alternativni pristopi, ki jih je treba upoštevati:
Komercialni bančni API-ji
- Prednosti: Ponujajo dodatno preverjanje proti dejanskim bančnim registracijam, nudijo obsežnejše finančne storitve
- Slabosti: Običajno zahtevajo naročnine, API ključe in delo z integracijo; lahko imajo omejitve uporabe
Knjižnice IBAN za programske jezike
- Prednosti: Lahko se integrirajo neposredno v vašo kodo, nudijo programatični dostop
- Slabosti: Zahtevajo razvojno delo za implementacijo, morda potrebujejo redne posodobitve, da ostanejo skladne s standardi
Uradni preverjevalniki bank
- Prednosti: Nudijo jih finančne institucije, visoka natančnost za njihovo specifično državo
- Slabosti: Običajno omejeni na specifične države, morda ne podpirajo funkcij generiranja
Ročno izračunavanje
- Prednosti: Pomaga razumeti osnovni algoritem, brez odvisnosti od zunanjih orodij
- Slabosti: Časovno potratno, nagnjeno k človeškim napakam, nepraktično za testiranje v velikem obsegu
Naše orodje zapolnjuje vrzel med temi alternativami, saj ponuja preprost, dostopen vmesnik za generiranje in preverjanje brez potrebe po tehnični integraciji ali plačanih naročninah.
Pogosta vprašanja
Kaj je IBAN?
IBAN (mednarodna številka bančnega računa) je standardiziran mednarodni številčni sistem, razvit za identifikacijo bančnih računov čez nacionalne meje. Ustanovila ga je Mednarodna organizacija za standardizacijo (ISO), da bi olajšala breznapakne mednarodne transakcije.
Kako natančen je ta generator IBAN-ov?
Generator IBAN-ov ustvarja strukturno veljavne IBAN-e, ki prestanejo MOD 97 preverjanje, kot je določeno v standardu ISO 13616. Čeprav so generirani IBAN-i matematično veljavni, so naključni in niso povezani z dejanskimi bančnimi računi, kar jih naredi popolne za testiranje, vendar ne za prave transakcije.
Katere države podpira to orodje?
Orodje trenutno podpira formate IBAN za Nemčijo, Združeno kraljestvo, Francijo, Španijo, Italijo, Nizozemsko, Švico, Avstrijo, Belgijo in Poljsko. Te pokrivajo najbolj pogosto uporabljene formate IBAN v Evropi.
Ali lahko uporabim generirane IBAN-e za prave transakcije?
Ne. IBAN-i, ki jih ustvari ta generator, so strukturno veljavni, vendar naključno generirani. Niso povezani z dejanskimi bančnimi računi in jih je treba uporabljati le za testiranje, izobraževalne ali demonstracijske namene.
Kako deluje preverjanje IBAN-a?
Preverjevalnik preverja več vidikov IBAN-a:
- Veljavnost kode države
- Pravilna dolžina za določeno državo
- Veljavnost tipov znakov (črke in številke na pravih mestih)
- Preverjanje kontrolnih številk MOD 97 v skladu s standardom ISO
Ali so prostori pomembni v IBAN-u?
Ne. Medtem ko so IBAN-i pogosto prikazani s presledki za berljivost (običajno v skupinah po štiri znake), se prostori med preverjanjem ignorirajo. Naše orodje obravnava tako formatirane kot neformatirane IBAN-e.
Ali se moji podatki IBAN shranijo ali delijo pri uporabi tega orodja?
Ne. To orodje deluje v celoti v vašem brskalniku. Nobeni podatki IBAN niso poslani na strežnik, shranjeni ali deljeni s tretjimi osebami. Vaši podatki ostajajo zasebni in varni.
Ali lahko preverim IBAN-e iz držav, ki niso na seznamu?
Trenutno orodje preverja le IBAN-e iz podprtih držav, navedenih v spustnem seznamu. Če potrebujete preverjanje za dodatne države, nam to sporočite preko obrazca za povratne informacije.
Zakaj bi lahko veljaven IBAN neuspešno prestal preverjanje?
IBAN lahko neuspešno prestane preverjanje iz več razlogov:
- Napačne kontrolne številke
- Napačna dolžina za določeno državo
- Neveljavni znaki na specifičnih mestih
- Tipkarske napake ali napake pri transpoziciji
- Koda države, ki je ni podprlo orodje
Kako lahko poročam o težavah ali predlagam izboljšave?
Z veseljem sprejemamo povratne informacije za izboljšanje orodja. Uporabite obrazec za povratne informacije, ki je dostopen preko povezave na dnu strani, da prijavite morebitne težave ali predlagate izboljšave.
Tehnična implementacija
Za razvijalce, ki jih zanima implementacija preverjanja in generiranja IBAN-ov v lastnih aplikacijah, so tukaj primeri kode v različnih programskih jezikih:
Preverjanje IBAN-a
1function validateIban(iban) {
2 // Odstranite prostore in pretvorite v velike črke
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Preverjanje osnovnega formata
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Premaknite prvih 4 znake na konec IBAN-a
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 // Pretvorite črke v številke
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 uporabe
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 (neveljavne kontrolne številke)
33
1def validate_iban(iban):
2 # Odstranite prostore in pretvorite v velike črke
3 iban = iban.replace(' ', '').upper()
4
5 # Preverjanje osnovnega formata
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Premaknite prvih 4 znake na konec
10 rearranged = iban[4:] + iban[:4]
11
12 # Pretvorite črke v številke (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 # Preverite, ali mod 97 enako 1
21 return int(converted) % 97 == 1
22
23# Primer uporabe
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 (neveljavne kontrolne številke)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Odstranite prostore in pretvorite v velike črke
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Preverjanje osnovnega formata
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Premaknite prvih 4 znake na konec
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Pretvorite črke v številke
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
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 več držav po potrebi
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Koda države ${countryCode} ni podprta`);
11 }
12
13 // Ustvarite naključni BBAN na podlagi formata države
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 // Ustvarite številčne znake
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Ustvarite črkovne znake
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 // Ustvarite alfanumerične znake
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 številke
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Ustvarite začetni IBAN z '00' kot kontrolnimi številkami
55 const initialIban = countryCode + '00' + bban;
56
57 // Premaknite in pretvorite črke v številke
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 uporabe
77console.log(generateIban('DE')); // Ustvari veljaven nemški IBAN
78console.log(generateIban('GB')); // Ustvari veljaven 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 več držav po potrebi
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Koda države {country_code} ni podprta")
14
15 # Ustvarite naključni BBAN na podlagi formata države
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': # Številčno
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Črkovno
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumerično
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Izračunajte kontrolne številke
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 # Ustvarite niz za izračun kontrolne številke
40 check_string = bban + country_code + '00'
41
42 # Pretvorite črke v številke (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 uporabe
57print(generate_iban('DE')) # Ustvari veljaven nemški IBAN
58print(generate_iban('GB')) # Ustvari veljaven britanski IBAN
59
Reference
- ISO 13616-1:2007 - "Finančne storitve - Mednarodna številka bančnega računa (IBAN) - Del 1: Struktura IBAN-a"
- Evropski odbor za bančne standarde (ECBS) - "IBAN: Mednarodna številka bančnega računa"
- SWIFT - "Registracija IBAN-ov"
- Evropski plačilni svet - "IBAN in identifikator upnika"
- Banka za mednarodne poravnave - "Sistemi plačil, poravnave in poravnav"
- Evropska centralna banka - "Enotni evro plačilni prostor (SEPA)"
- ISO 9362 - "Bančni - Bančne telekomunikacijske sporočilne - Poslovni identifikacijski kodo (BIC)"
- ISO 7064 - "Informacijska tehnologija - Varnostne tehnike - Sistemi kontrolnih znakov"
Zaključek
Orodje za generiranje in preverjanje IBAN-ov ponuja preprosto, a močno rešitev za testne in izobraževalne namene, povezane z mednarodnimi bančnimi identifikatorji. S tem, da ponuja tako zmožnosti generiranja kot preverjanja v uporabniku prijaznem vmesniku, odpravlja potrebo po zapletenih konfiguracijah ali integracijah tretjih oseb.
Ne glede na to, ali razvijate finančne aplikacije, testirate plačilne sisteme ali se učite o mednarodnih bančnih standardih, to orodje ponuja preprost način za delo z IBAN-i. Celovito preverjanje zagotavlja, da so vsi generirani IBAN-i strukturno pravilni in skladni z mednarodnimi standardi.
Poskusite generirati ali preveriti IBAN zdaj, da doživite zmožnosti orodja na lastne oči!
Povratne informacije
Kliknite na toast za povratne informacije, da začnete dajati povratne informacije o tem orodju
Sorodne orodja
Odkrijte več orodij, ki bi lahko bila koristna za vaš delovni proces