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.
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.
IBAN je sestavljen iz največ 34 alfanumeričnih znakov, čeprav se natančna dolžina razlikuje glede na državo. Standardna struktura vključuje:
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čunaRazlič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 |
Postopek preverjanja IBAN-a uporablja algoritem MOD 97, kot je določeno v standardu ISO 7064. Tukaj je, kako deluje:
Matematično to predstavljamo kot:
Naš preverjevalnik implementira ta algoritem za preverjanje strukturne celovitosti katerega koli IBAN-a, ki ga vnesejo uporabniki.
Generator IBAN-ov ustvarja naključne, a veljavne IBAN-e za testne namene. Ključne značilnosti vključujejo:
Generator ustvarja IBAN-e tako, da:
Preverjevalnik IBAN-ov preverja strukturno celovitost IBAN-ov, ki jih vnesejo uporabniki. Ključne značilnosti vključujejo:
Preverjevalnik izvaja več preverjanj:
Orodje za generiranje in preverjanje IBAN-ov služi več namenom v različnih domenah:
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:
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.
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.
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.
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.
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.
Preverjevalnik preverja več vidikov IBAN-a:
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.
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.
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.
IBAN lahko neuspešno prestane preverjanje iz več razlogov:
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.
Za razvijalce, ki jih zanima implementacija preverjanja in generiranja IBAN-ov v lastnih aplikacijah, so tukaj primeri kode v različnih programskih jezikih:
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
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
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!
Odkrijte več orodij, ki bi lahko bila koristna za vaš delovni proces