Hozzon létre véletlenszerű, formátumnak megfelelő IBAN-t vagy érvényesítse a meglévőket egyszerű eszközünkkel. Tökéletes pénzügyi alkalmazások, banki szoftverek és oktatási célok teszteléséhez.
A Nemzetközi Bankszámlaszám (IBAN) Generátor és Érvényesítő egy átfogó eszköz, amely pénzügyi alkalmazások, banki szoftverek és oktatási kontextusok tesztelésére és ellenőrzésére készült. Ez a felhasználóbarát alkalmazás két alapvető funkciót kínál: véletlenszerű, de formátum-kompatibilis IBAN-ok generálását és a felhasználó által megadott IBAN-ok szerkezeti integritásának érvényesítését. Legyen Ön fejlesztő, aki pénzügyi szoftvert tesztel, QA szakember, aki banki alkalmazásokat ellenőriz, vagy oktató, aki a nemzetközi banki szabványokat magyarázza, ez az eszköz egy egyszerű megoldást kínál, amely nem igényel bonyolult konfigurációkat vagy harmadik féltől származó integrációkat.
Az IBAN-ok (Nemzetközi Bankszámlaszámok) standardizált számlaadatok, amelyeket nemzetközileg használnak a határokon átnyúló tranzakciók megkönnyítésére és a nemzetközi pénzátutalások hibáinak csökkentésére. Minden IBAN egy országkódot, ellenőrző számjegyeket és egy alap bankszámlaszámot (BBAN), amely az ország-specifikus formátumokat követi, tartalmaz. Eszközünk több ország formátumát támogatja, és biztosítja, hogy az összes generált IBAN megfeleljen a MOD 97 érvényesítési algoritmusnak, amelyet az ISO 13616 szabvány ír elő.
Egy IBAN legfeljebb 34 alfanumerikus karakterből áll, bár a pontos hossz az országok szerint változik. A standard szerkezet a következőkből áll:
Például egy német IBAN a DE2!n8!n10!n
szerkezetet követi, ahol:
DE
az országkód2!n
két numerikus ellenőrző számjegyet képvisel8!n
egy nyolc számjegyű bankkódot képvisel10!n
egy tíz számjegyű számlaszámot képviselKülönböző országoknak eltérő BBAN formátuma van, így az IBAN hossza is változó:
Ország | Hossz | Szerkezet | Példa |
---|---|---|---|
Németország (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Egyesült Királyság (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Franciaország (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Spanyolország (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Olaszország (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Az IBAN érvényesítési folyamat a MOD 97 algoritmust használja, amelyet az ISO 7064 szabvány ír elő. Íme, hogyan működik:
Matematikailag ez a következőképpen van ábrázolva:
Érvényesítőnk ezt az algoritmust alkalmazza, hogy ellenőrizze bármely IBAN szerkezeti integritását, amelyet a felhasználók adnak meg.
Az IBAN generátor véletlenszerű, de érvényes IBAN-okat hoz létre tesztelési célokra. A főbb funkciók közé tartozik:
A generátor az IBAN-ok létrehozását a következő lépésekben végzi:
Az IBAN érvényesítő ellenőrzi a felhasználó által megadott IBAN-ok szerkezeti integritását. A főbb funkciók közé tartozik:
Az érvényesítő több ellenőrzést végez:
Az IBAN Generátor és Érvényesítő eszköz több célt szolgál különböző területeken:
Bár az IBAN Generátor és Érvényesítő eszköz egy egyszerűsített élményt kínál tesztelési célokra, vannak alternatív megközelítések is, amelyeket érdemes figyelembe venni:
Eszközünk áthidalja ezeket az alternatívákat azzal, hogy egy egyszerű, hozzáférhető felületet biztosít mind a generálás, mind az érvényesítés számára, anélkül, hogy technikai integrációra vagy fizetett előfizetésekre lenne szükség.
Az IBAN (Nemzetközi Bankszámlaszám) egy standardizált nemzetközi számozási rendszer, amelyet a bankszámlák azonosítására fejlesztettek ki a nemzetközi határokon. Az International Organization for Standardization (ISO) hozta létre a hibamentes nemzetközi tranzakciók megkönnyítése érdekében.
Az IBAN generátor strukturálisan érvényes IBAN-okat hoz létre, amelyek átmennek a MOD 97 ellenőrző algoritmuson, ahogy azt az ISO 13616 szabvány előírja. Bár a generált IBAN-ok matematikailag érvényesek, véletlenszerűek és nem kapcsolódnak valós bankszámlákhoz, így tökéletesek tesztelési, de nem valós tranzakciókhoz.
Az eszköz jelenleg támogatja az IBAN formátumokat Németország, Egyesült Királyság, Franciaország, Spanyolország, Olaszország, Hollandia, Svájc, Ausztria, Belgium és Lengyelország számára. Ezek lefedik a leggyakrabban használt IBAN formátumokat Európában.
Nem. Az ezen generátor által létrehozott IBAN-ok strukturálisan érvényesek, de véletlenszerűen generáltak. Nincsenek kapcsolódva valós bankszámlákhoz, és csak tesztelési, oktatási vagy bemutató célokra használhatók.
Az érvényesítő több szempontot ellenőriz egy IBAN-nál:
Nem. Bár az IBAN-okat gyakran szóközökkel jelenítik meg az olvashatóság érdekében (általában négy karakteres csoportokban), a szóközöket érvényesítés során figyelmen kívül hagyják. Eszközünk mind a formázott (szóközökkel), mind a nem formázott IBAN-okat kezeli.
Nem. Ez az eszköz teljes mértékben a böngészőjében működik. Egyetlen IBAN adat sem kerül elküldésre semmilyen szerverre, nem tárolják, és nem osztják meg harmadik felekkel. Az adatai privátak és biztonságosak maradnak.
Jelenleg az eszköz csak az alábbi legördülő listában szereplő országokból származó IBAN-okat érvényesít. Ha további országok érvényesítésére van szüksége, kérjük, tudassa velünk a visszajelző űrlapon keresztül.
Egy IBAN érvénytelen lehet több okból:
Örömmel fogadjuk a visszajelzéseket az eszköz fejlesztésére. Kérjük, használja a visszajelző űrlapot, amely a lap alján található hivatkozáson keresztül érhető el, hogy bármilyen problémát jelenthessen vagy javaslatokat tegyen.
A fejlesztők számára, akik érdeklődnek az IBAN érvényesítés és generálás megvalósítása iránt a saját alkalmazásaikban, itt találhatók kódpéldák különböző programozási nyelveken:
1function validateIban(iban) {
2 // Törölje a szóközöket és konvertálja nagybetűsre
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Alapformátum ellenőrzés
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Átrendezés és betűk számokká konvertálása
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 const converted = rearranged.split('').map(char => {
13 if (/[A-Z]/.test(char)) {
14 return (char.charCodeAt(0) - 55).toString();
15 }
16 return char;
17 }).join('');
18
19 // MOD 97 számítás
20 let remainder = 0;
21 for (let i = 0; i < converted.length; i++) {
22 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
23 }
24
25 return remainder === 1;
26}
27
28// Példa használat
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (érvénytelen ellenőrző számjegyek)
32
1def validate_iban(iban):
2 # Törölje a szóközöket és konvertálja nagybetűsre
3 iban = iban.replace(' ', '').upper()
4
5 # Alapformátum ellenőrzés
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Helyezze az első 4 karaktert a végére
10 rearranged = iban[4:] + iban[:4]
11
12 # Betűk számokká konvertálása (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 # Ellenőrizze, hogy a mod 97 egyenlő-e 1-gyel
21 return int(converted) % 97 == 1
22
23# Példa használat
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 (érvénytelen ellenőrző számjegyek)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Törölje a szóközöket és konvertálja nagybetűsre
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Alapformátum ellenőrzés
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Helyezze az első 4 karaktert a végére
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Betűk számokká konvertálása
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 // MOD 97 számítás
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 // További országok hozzáadása szükség szerint
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`A ${countryCode} országkód nem támogatott`);
11 }
12
13 // Generáljon véletlenszerű BBAN-t az ország formátuma alapján
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 // Generáljon numerikus karaktereket
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generáljon alfabetikus karaktereket
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 // Generáljon alfanumerikus karaktereket
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 // Számolja ki az ellenőrző számjegyeket
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Hozzon létre egy kezdeti IBAN-t '00'-val ellenőrző számjegyként
55 const initialIban = countryCode + '00' + bban;
56
57 // Átrendezés és betűk számokká konvertálása
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 // Számolja ki a 98 mínusz 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// Példa használat
77console.log(generateIban('DE')); // Generál egy érvényes német IBAN-t
78console.log(generateIban('GB')); // Generál egy érvényes brit IBAN-t
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 # További országok hozzáadása szükség szerint
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"A {country_code} országkód nem támogatott")
14
15 # Generáljon véletlenszerű BBAN-t az ország formátuma alapján
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': # Numerikus
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Alfabetikus
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumerikus
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Számolja ki az ellenőrző számjegyeket
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 # Hozzon létre egy stringet az ellenőrző számjegyek számításához
40 check_string = bban + country_code + '00'
41
42 # Konvertálja a betűket számokká (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 # Számolja ki a 98 mínusz mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Példa használat
57print(generate_iban('DE')) # Generál egy érvényes német IBAN-t
58print(generate_iban('GB')) # Generál egy érvényes brit IBAN-t
59
Az IBAN Generátor és Érvényesítő eszköz egy egyszerű, mégis hatékony megoldást kínál a nemzetközi bankszámlaszámokkal kapcsolatos tesztelési és oktatási célokra. A generálás és érvényesítés képességei egy felhasználóbarát felületen biztosítják, hogy ne legyen szükség bonyolult konfigurációkra vagy harmadik féltől származó integrációkra.
Legyen szó pénzügyi alkalmazások fejlesztéséről, fizetési rendszerek teszteléséről vagy a nemzetközi banki szabványok megismeréséről, ez az eszköz egyszerű módot kínál az IBAN-okkal való munkára. Az átfogó érvényesítés biztosítja, hogy az összes generált IBAN szerkezetileg helyes és megfelel a nemzetközi szabványoknak.
Próbálja ki egy IBAN generálását vagy érvényesítését most, hogy első kézből tapasztalja meg az eszköz képességeit!
Fedezzen fel több olyan eszközt, amely hasznos lehet a munkafolyamatához