Looge juhuslikke formaadi nõuetele vastavaid IBAN-e või valideerige olemasolevaid meie lihtsa tööriistaga. Täiuslik finantseerimisrakenduste, pangandustarkvara ja hariduslike eesmärkide testimiseks.
Rahvusvaheline pangakonto number (IBAN) generaatori ja validaatori tööriist on ulatuslik tööriist, mis on mõeldud testimise ja kontrollimise eesmärkideks finantsrakendustes, pangandustarkvaras ja hariduslikus kontekstis. See kasutajasõbralik rakendus pakub kahte olulist funktsiooni: juhuslike, kuid formaadi järgi vastavate IBANide genereerimine ja kasutaja sisestatud IBANide struktuuri terviklikkuse valideerimine. Olgu tegu arendajaga, kes testib finantsrakendusi, QA spetsialistiga, kes kontrollib pangandusrakendusi, või õpetajaga, kes selgitab rahvusvahelisi pangastandardeid, pakub see tööriist lihtsat lahendust ilma keeruliste seadistuste või kolmandate osapoolte integratsioonita.
IBANid (rahvusvahelised pangakonto numbrid) on standardiseeritud konto identifikaatorid, mida kasutatakse rahvusvaheliselt, et hõlbustada piiriüleseid tehinguid ja vähendada vigu rahvusvahelistes rahaülekannetes. Iga IBAN koosneb riigikoodist, kontrollnumbrist ja põhikontokonto numbrist (BBAN), mis järgib riigispetsiifilisi vorminguid. Meie tööriist toetab mitmeid riigivorme ja tagab, et kõik genereeritud IBANid läbivad ISO 13616 standardis määratletud MOD 97 valideerimise algoritmi.
IBAN koosneb kuni 34 alfanumeerilisest märgist, kuigi täpne pikkus varieerub riigiti. Standardne struktuur sisaldab:
Näiteks järgib Saksamaa IBAN struktuuri DE2!n8!n10!n
, kus:
DE
on riigikood2!n
tähistab kahte numbrilist kontrollnumbrit8!n
tähistab kaheksanumbrilist pangakoodi10!n
tähistab kümne numbrilist konto numbritErinevatel riikidel on erinevad BBAN vormingud, mis toovad kaasa erineva IBAN pikkuse:
Riik | Pikkus | Struktuur | Näide |
---|---|---|---|
Saksamaa (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Ühendkuningriik (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Prantsusmaa (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Hispaania (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Itaalia (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
IBANi valideerimise protsess kasutab MOD 97 algoritmi, nagu on määratletud ISO 7064 standardis. Siin on, kuidas see töötab:
Matemaatiliselt on see esitatud järgmiselt:
Meie valideerija rakendab seda algoritmi, et kontrollida iga kasutaja sisestatud IBANi struktuuri terviklikkust.
IBAN generaator loob juhuslikke, kuid kehtivaid IBANe testimise eesmärkidel. Peamised omadused hõlmavad:
Generaator loob IBANe järgmiselt:
IBAN valideerija kontrollib kasutaja sisestatud IBANide struktuuri terviklikkust. Peamised omadused hõlmavad:
Valideerija viib läbi mitmeid kontrolle:
IBAN Generaatori ja Validaatori tööriist teenib mitmeid eesmärke erinevates valdkondades:
Kuigi meie IBAN Generaatori ja Validaatori tööriist pakub sujuvat kogemust testimise eesmärkidel, on olemas alternatiivsed lähenemisviisid, mida kaaluda:
Meie tööriist sillutab lõhe nende alternatiivide vahel, pakkudes lihtsat ja ligipääsetavat liidest nii genereerimise kui ka valideerimise jaoks ilma tehnilise integratsiooni või tasuliste tellimusteta.
IBAN (rahvusvaheline pangakonto number) on standardiseeritud rahvusvaheline numbriline süsteem, mis on välja töötatud pangakontode tuvastamiseks piiriüleselt. See loodi Rahvusvahelise Standardiorganisatsiooni (ISO) poolt, et hõlbustada vigadeta rahvusvahelisi tehinguid.
IBAN generaator loob struktuuri poolest kehtivaid IBANe, mis läbivad MOD 97 kontrollalgoritmi, nagu on määratletud ISO 13616 standardis. Kuigi genereeritud IBANid on matemaatiliselt kehtivad, on need juhuslikud ja ei ole seotud tegelike pangakontodega, mistõttu on need ideaalsed testimiseks, kuid mitte reaalseteks tehinguteks.
Tööriist toetab praegu IBAN vorminguid Saksamaa, Ühendkuningriigi, Prantsusmaa, Hispaania, Itaalia, Madalmaade, Šveitsi, Austria, Belgia ja Poola jaoks. Need katab kõige sagedamini kasutatavad IBAN vormingud Euroopas.
Ei. Generaatori poolt loodud IBANid on struktuuri poolest kehtivad, kuid juhuslikult genereeritud. Need ei ole seotud tegelike pangakontodega ja neid tuleks kasutada ainult testimise, hariduse või demonstreerimise eesmärkidel.
Valideerija kontrollib mitmeid aspekte IBANis:
Ei. Kuigi IBANe kuvatakse sageli tühikutega loetavuse huvides (tavaliselt nelja märgi kaupa), ignoreeritakse tühikuid valideerimise ajal. Meie tööriist käsitleb nii vormindatud kui ka vormindamata IBANe.
Ei. See tööriist töötab täielikult teie brauseris. Ühtegi IBAN andmeid ei saadeta serverisse, ei salvestata ega jagata kolmandate osapooltega. Teie andmed jäävad privaatsuseks ja turvaliseks.
Praegu valideerib tööriist ainult IBANe toetatud riikidest, mis on loetletud rippmenüüs. Kui vajate valideerimist täiendavate riikide jaoks, andke meile teada tagasiside vormi kaudu.
IBAN võib valideerimisel ebaõnnestuda mitmel põhjusel:
Me tervitame tagasisidet tööriista täiustamiseks. Palun kasutage tagasiside vormi, mis on saadaval lingi kaudu lehe allosas, et teatada probleemidest või soovitada täiustusi.
Arendajatele, kes on huvitatud IBANi valideerimise ja genereerimise rakendamisest oma rakendustes, on siin koodinäidised erinevates programmeerimiskeeltes:
1function validateIban(iban) {
2 // Eemaldage tühikud ja muutke suurteks tähtedeks
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Kontrollige põhivormingut
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Liigutage esimesed 4 märki lõppu
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 // Muutke tähed numbriteks
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 // Arvutage 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// Näide kasutamisest
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 (kehtetu kontrollnumbrid)
33
1def validate_iban(iban):
2 # Eemaldage tühikud ja muutke suurteks tähtedeks
3 iban = iban.replace(' ', '').upper()
4
5 # Põhivormingu kontroll
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Liigutage esimesed 4 märki lõppu
10 rearranged = iban[4:] + iban[:4]
11
12 # Muutke tähed numbriteks (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 # Kontrollige, kas mod 97 on 1
21 return int(converted) % 97 == 1
22
23# Näide kasutamisest
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 (kehtetu kontrollnumbrid)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Eemaldage tühikud ja muutke suurteks tähtedeks
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Põhivormingu kontroll
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Liigutage esimesed 4 märki lõppu
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Muutke tähed numbriteks
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 // Arvutage 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 // Lisage rohkem riike vastavalt vajadusele
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Riigikood ${countryCode} ei ole toetatud`);
11 }
12
13 // Genereerige juhuslik BBAN vastavalt riigi vormingule
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 // Genereerige numbrilised märgid
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Genereerige tähestikulised märgid
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 // Genereerige alfanumeerilised märgid
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 // Arvutage kontrollnumbrid
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Looge algne IBAN '00' kontrollnumbritega
55 const initialIban = countryCode + '00' + bban;
56
57 // Liigutage ja muutke tähed numbriteks
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 // Arvutage 98 miinus 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// Näide kasutamisest
77console.log(generateIban('DE')); // Genereerib kehtiva Saksamaa IBANi
78console.log(generateIban('GB')); // Genereerib kehtiva Ühendkuningriigi IBANi
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 # Lisage rohkem riike vastavalt vajadusele
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Riigikood {country_code} ei ole toetatud")
14
15 # Genereerige juhuslik BBAN vastavalt riigi vormingule
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': # Numbriline
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Täht
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumeeriline
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Arvutage kontrollnumbrid
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 # Looge kontrollnumbrite arvutamiseks string
40 check_string = bban + country_code + '00'
41
42 # Muutke tähed numbriteks (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 # Arvutage 98 miinus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Näide kasutamisest
57print(generate_iban('DE')) # Genereerib kehtiva Saksamaa IBANi
58print(generate_iban('GB')) # Genereerib kehtiva Ühendkuningriigi IBANi
59
IBAN Generaatori ja Validaatori tööriist pakub lihtsat, kuid võimsat lahendust rahvusvaheliste pangakonto identifikaatoritega seotud testimise ja hariduse eesmärkidel. Pakkuge nii genereerimise kui ka valideerimise võimalusi kasutajasõbralikus liideses, kaotab see vajaduse keeruliste seadistuste või kolmandate osapoolte integratsiooni järele.
Olgu te arendamas finantsrakendusi, testimas maksesüsteeme või õppimas rahvusvahelisi pangastandardeid, pakub see tööriist lihtsat viisi IBANidega töötamiseks. Ulatuslik valideerimine tagab, et kõik genereeritud IBANid on struktuurselt terved ja vastavad rahvusvahelistele standarditele.
Proovige nüüd genereerida või valideerida IBANi, et kogeda tööriista võimeid esmakordselt!
Avasta rohkem tööriistu, mis võivad olla kasulikud teie töövoos