Luo satunnaisia, muotoa noudattavia IBAN-numeroita tai validoi olemassa olevia työkaluillamme. Täydellinen rahoitussovellusten, pankkiohjelmistojen ja koulutustarkoitusten testaamiseen.
Kansainvälinen pankkitilin numero (IBAN) -generaattori ja -validaattori on kattava työkalu, joka on suunniteltu testaus- ja vahvistustarkoituksiin rahoitussovelluksissa, pankkiohjelmistoissa ja koulutuskonteksteissa. Tämä käyttäjäystävällinen sovellus tarjoaa kaksi olennaista ominaisuutta: satunnaisten, mutta muotonsa mukaisesti kelvollisten IBANien luominen ja käyttäjän syöttämien IBANien rakenteellisen eheyden vahvistaminen. Olitpa kehittäjä, joka testaa rahoitusohjelmistoa, QA-asiantuntija, joka vahvistaa pankkisovelluksia, tai opettaja, joka selittää kansainvälisiä pankkistandardeja, tämä työkalu tarjoaa yksinkertaisen ratkaisun ilman monimutkaisempia asetuksia tai kolmansien osapuolten integraatioita.
IBANit (kansainväliset pankkitilin numerot) ovat standardoituja tilitunnisteita, joita käytetään kansainvälisesti rajat ylittävien maksujen helpottamiseksi ja virheiden vähentämiseksi kansainvälisissä rahansiirroissa. Jokainen IBAN koostuu maa-alkukirjaimista, tarkistusnumeroista ja peruspankkitilin numerosta (BBAN), joka seuraa maakohtaisia muotoja. Työkalumme tukee useita maamuotoja ja varmistaa, että kaikki luodut IBANit läpäisevät MOD 97 -validointialgoritmin, joka on määritelty ISO 13616 -standardissa.
IBAN koostuu enintään 34 alfanumeerisesta merkistä, vaikka tarkka pituus vaihtelee maittain. Standardirakenne sisältää:
Esimerkiksi saksalainen IBAN seuraa rakennetta DE2!n8!n10!n
, jossa:
DE
on maa-alkukirjain2!n
edustaa kahta numeerista tarkistusnumeroa8!n
edustaa kahdeksan numeroa sisältävää pankkikoodia10!n
edustaa kymmenen numeroa sisältävää tilinumeroaEri mailla on erilaisia BBAN-muotoja, mikä johtaa vaihtelevaan IBAN-pituuteen:
Maa | Pituus | Rakenne | Esimerkki |
---|---|---|---|
Saksa (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Iso-Britannia (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Ranska (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Espanja (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Italia (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
IBANin validointiprosessi käyttää MOD 97 -algoritmia, joka on määritelty ISO 7064 -standardissa. Näin se toimii:
Matemaattisesti tämä esitetään seuraavasti:
Validaattorimme toteuttaa tämän algoritmin vahvistaakseen minkä tahansa käyttäjän syöttämän IBANin rakenteellista eheyttä.
IBAN-generaattori luo satunnaisia, mutta kelvollisia IBANeja testauskäyttöön. Tärkeimmät ominaisuudet sisältävät:
Generaattori luo IBANeja seuraavasti:
IBAN-validaattori tarkistaa käyttäjän syöttämien IBANien rakenteellisen eheyden. Tärkeimmät ominaisuudet sisältävät:
Validaattori suorittaa useita tarkistuksia:
IBAN-generaattori ja -validaattori -työkalu palvelee useita tarkoituksia eri aloilla:
Vaikka IBAN-generaattori ja -validaattori -työkalumme tarjoaa sujuvan kokemuksen testauskäyttöön, on olemassa vaihtoehtoisia lähestymistapoja harkittavaksi:
Työkalumme ylittää nämä vaihtoehdot tarjoamalla yksinkertaisen, saavutettavan käyttöliittymän sekä generointiin että validointiin ilman teknisiä integraatioita tai maksettuja tilauksia.
IBAN (kansainvälinen pankkitilin numero) on standardoitu kansainvälinen numerointijärjestelmä, joka on kehitetty pankkitilien tunnistamiseksi kansainvälisillä rajoilla. Se perustettiin Kansainvälisen standardointijärjestön (ISO) toimesta virheettömien kansainvälisten liiketoimien helpottamiseksi.
IBAN-generaattori luo rakenteellisesti kelvollisia IBANeja, jotka läpäisevät MOD 97 -tarkistusalgoritmin, kuten ISO 13616 -standardissa on määritelty. Vaikka luodut IBANit ovat matemaattisesti kelvollisia, ne ovat satunnaisia eivätkä liity todellisiin pankkitileihin, mikä tekee niistä täydellisiä testaukseen mutta ei todellisiin liiketoimiin.
Työkalu tukee tällä hetkellä IBAN-muotoja Saksalle, Yhdistyneelle kuningaskunnalle, Ranskalle, Espanjalle, Italialle, Alankomaille, Sveitsille, Itävallalle, Belgialle ja Puolalle. Nämä kattavat yleisimmät IBAN-muodot Euroopassa.
Ei. Tämän generaattorin luomat IBANit ovat rakenteellisesti kelvollisia mutta satunnaisesti luotuja. Ne eivät ole yhteydessä todellisiin pankkitileihin ja niitä tulisi käyttää vain testaus-, koulutus- tai esittelytarkoituksiin.
Validaattori tarkistaa useita IBANin näkökohtia:
Ei. Vaikka IBANeja usein esitetään välilyönneillä luettavuuden parantamiseksi (yleensä neljän merkin ryhmissä), välilyöntejä ei oteta huomioon validoinnissa. Työkalumme käsittelee sekä muotoiltuja että muotoilematta jätettyjä IBANeja.
Ei. Tämä työkalu toimii täysin selaimessasi. Yhtään IBAN-tietoa ei lähetetä palvelimelle, tallenneta tai jaeta kolmansille osapuolille. Tietosi pysyvät yksityisinä ja turvattuina.
Tällä hetkellä työkalu validoi vain IBANeja tuetuista maista, jotka on lueteltu pudotusvalikossa. Jos tarvitset validointia lisämaista, ilmoita siitä meille palautelomakkeen kautta.
IBAN voi epäonnistua validoinnissa useista syistä:
Tervetuloa palautteeseen työkalun parantamiseksi. Käytä palautelomaketta, joka on saatavilla sivun alareunassa, raportoidaaksesi ongelmia tai ehdottaaksesi parannuksia.
Kehittäjille, jotka ovat kiinnostuneita IBAN-validoinnin ja -generoinnin toteuttamisesta omissa sovelluksissaan, tässä on koodiesimerkkejä eri ohjelmointikielillä:
1function validateIban(iban) {
2 // Poista välilyönnit ja muunna isoiksi kirjaimiksi
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Tarkista perusmuoto
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Siirrä ensimmäiset 4 merkkiä loppuun
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 // Muunna kirjaimet numeroiksi
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 // Laske 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// Esimerkkikäyttö
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 (virheelliset tarkistusnumerot)
33
1def validate_iban(iban):
2 # Poista välilyönnit ja muunna isoiksi kirjaimiksi
3 iban = iban.replace(' ', '').upper()
4
5 # Perusmuoto tarkistus
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Siirrä ensimmäiset 4 merkkiä loppuun
10 rearranged = iban[4:] + iban[:4]
11
12 # Muunna kirjaimet numeroiksi (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 # Tarkista, onko mod 97 yhtä kuin 1
21 return int(converted) % 97 == 1
22
23# Esimerkkikäyttö
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 (virheelliset tarkistusnumerot)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Poista välilyönnit ja muunna isoiksi kirjaimiksi
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Perusmuoto tarkistus
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Siirrä ensimmäiset 4 merkkiä loppuun
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Muunna kirjaimet numeroiksi
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 // Laske 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 // Lisää muita maita tarpeen mukaan
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Maa-alkukirjain ${countryCode} ei ole tuettu`);
11 }
12
13 // Generoi satunnainen BBAN maan muodon mukaan
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 // Generoi numeerisia merkkejä
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generoi aakkosellisia merkkejä
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 // Generoi alfanumeerisia merkkejä
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 // Laske tarkistusnumerot
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Luo alkuperäinen IBAN, jossa on '00' tarkistusnumeroina
55 const initialIban = countryCode + '00' + bban;
56
57 // Siirrä ja muunna kirjaimet numeroiksi
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 // Laske 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// Esimerkkikäyttö
77console.log(generateIban('DE')); // Generoi kelvollisen saksalaisen IBANin
78console.log(generateIban('GB')); // Generoi kelvollisen brittiläisen IBANin
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 # Lisää muita maita tarpeen mukaan
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Maa-alkukirjain {country_code} ei ole tuettu")
14
15 # Generoi satunnainen BBAN maan muodon mukaan
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': # Numeerinen
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Aakkosellinen
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumeerinen
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Laske tarkistusnumerot
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 # Luo tarkistusnumerolaskentaa varten
40 check_string = bban + country_code + '00'
41
42 # Muunna kirjaimet numeroiksi (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 # Laske 98 miinus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Esimerkkikäyttö
57print(generate_iban('DE')) # Generoi kelvollisen saksalaisen IBANin
58print(generate_iban('GB')) # Generoi kelvollisen brittiläisen IBANin
59
IBAN-generaattori ja -validaattori -työkalu tarjoaa yksinkertaisen mutta tehokkaan ratkaisun kansainvälisiin pankkitunnisteisiin liittyviin testaus- ja koulutustarkoituksiin. Tarjoamalla sekä generointi- että validointikykyjä käyttäjäystävällisessä käyttöliittymässä se poistaa monimutkaisten asetusten tai kolmansien osapuolten integraatioiden tarpeen.
Olitpa kehittämässä rahoitussovelluksia, testaamassa maksujärjestelmiä tai oppimassa kansainvälisistä pankkistandardeista, tämä työkalu tarjoaa yksinkertaisen tavan työskennellä IBANien kanssa. Kattava validointi varmistaa, että kaikki luodut IBANit ovat rakenteellisesti kunnossa ja noudattavat kansainvälisiä standardeja.
Kokeile IBANin luomista tai validoimista nyt ja koe työkalun kyvyt itse!
Löydä lisää työkaluja, jotka saattavat olla hyödyllisiä työnkulullesi