Lag tilfeldige IBAN-er som overholder formatet, eller valider eksisterende med vårt enkle verktøy. Perfekt for testing av finansielle applikasjoner, bankprogramvare og utdanningsformål.
Det internasjonale bankkontonummeret (IBAN) generator- og valideringsverktøyet er et omfattende verktøy designet for testing og verifikasjonsformål i finansielle applikasjoner, bankprogramvare og utdanningskontekster. Denne brukervennlige applikasjonen tilbyr to essensielle funksjoner: å generere tilfeldige, men formatkompatible IBAN-er og å validere den strukturelle integriteten til brukerinnskrevne IBAN-er. Enten du er en utvikler som tester finansprogramvare, en QA-spesialist som verifiserer bankapplikasjoner, eller en lærer som forklarer internasjonale bankstandarder, gir dette verktøyet en enkel løsning uten behov for komplekse konfigurasjoner eller tredjepartsintegrasjoner.
IBAN-er (internasjonale bankkontonumre) er standardiserte kontoenheter som brukes internasjonalt for å lette grenseoverskridende transaksjoner og redusere feil i internasjonale pengeoverføringer. Hver IBAN består av en landskode, sjekktall og et grunnleggende bankkontonummer (BBAN) som følger landspesifikke formater. Vårt verktøy støtter flere landsformater og sikrer at alle genererte IBAN-er passerer MOD 97 valideringsalgoritmen spesifisert i ISO 13616-standarden.
En IBAN består av opptil 34 alfanumeriske tegn, selv om den nøyaktige lengden varierer fra land til land. Den standardiserte strukturen inkluderer:
For eksempel følger en tysk IBAN strukturen DE2!n8!n10!n
der:
DE
er landskoden2!n
representerer to numeriske sjekktall8!n
representerer en åttedigit bankkode10!n
representerer et ti-sifret kontonummerUlike land har forskjellige BBAN-formater, noe som resulterer i varierende IBAN-lengder:
Land | Lengde | Struktur | Eksempel |
---|---|---|---|
Tyskland (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Storbritannia (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Frankrike (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Spania (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Italia (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
IBAN-valideringsprosessen bruker MOD 97-algoritmen som spesifisert i ISO 7064-standarden. Slik fungerer det:
Matematisk er dette representert som:
Vår validerer implementerer denne algoritmen for å verifisere den strukturelle integriteten til enhver IBAN som brukerne skriver inn.
IBAN-generatoren lager tilfeldige, men gyldige IBAN-er for testformål. Nøkkelfunksjoner inkluderer:
Generatoren lager IBAN-er ved å:
IBAN-validereren sjekker den strukturelle integriteten til brukerinnskrevne IBAN-er. Nøkkelfunksjoner inkluderer:
Validereren utfører flere sjekker:
IBAN-generator- og valideringsverktøyet tjener flere formål på tvers av ulike domener:
Mens vårt IBAN-generator- og valideringsverktøy tilbyr en strømlinjeformet opplevelse for testformål, er det alternative tilnærminger å vurdere:
Vårt verktøy bygger bro over gapet mellom disse alternativene ved å tilby et enkelt, tilgjengelig grensesnitt for både generering og validering uten behov for teknisk integrasjon eller betalte abonnementer.
En IBAN (internasjonalt bankkontonummer) er et standardisert internasjonalt nummereringssystem utviklet for å identifisere bankkontoer på tvers av nasjonale grenser. Det ble etablert av den internasjonale standardiseringsorganisasjonen (ISO) for å lette feilfrie internasjonale transaksjoner.
IBAN-generatoren lager strukturelt gyldige IBAN-er som passerer MOD 97-sjekkalgoritmen som spesifisert i ISO 13616-standarden. Selv om de genererte IBAN-ene er matematisk gyldige, er de tilfeldige og ikke knyttet til faktiske bankkontoer, noe som gjør dem perfekte for testing, men ikke for ekte transaksjoner.
Verktøyet støtter for øyeblikket IBAN-formater for Tyskland, Storbritannia, Frankrike, Spania, Italia, Nederland, Sveits, Østerrike, Belgia og Polen. Disse dekker de mest brukte IBAN-formatene i Europa.
Nei. IBAN-ene som er laget av denne generatoren er strukturelt gyldige, men tilfeldig genererte. De er ikke koblet til ekte bankkontoer og bør kun brukes til testing, utdanning eller demonstrasjonsformål.
Validereren sjekker flere aspekter av en IBAN:
Nei. Selv om IBAN-er ofte vises med mellomrom for lesbarhet (vanligvis i grupper på fire tegn), blir mellomrommene ignorert under validering. Vårt verktøy håndterer både formaterte og uformaterte IBAN-er.
Nei. Dette verktøyet fungerer helt i nettleseren din. Ingen IBAN-data sendes til noen server, lagres eller deles med tredjeparter. Dine data forblir private og sikre.
For øyeblikket validerer verktøyet kun IBAN-er fra de støttede landene som er oppført i nedtrekkslisten. Hvis du trenger validering for flere land, vennligst gi oss beskjed gjennom tilbakemeldingsskjemaet.
En IBAN kan mislykkes i valideringen av flere grunner:
Vi ønsker tilbakemeldinger for å forbedre verktøyet. Vennligst bruk tilbakemeldingsskjemaet som er tilgjengelig via lenken nederst på siden for å rapportere eventuelle problemer eller foreslå forbedringer.
For utviklere som er interessert i å implementere IBAN-validering og -generering i sine egne applikasjoner, her er kodeeksempler i forskjellige programmeringsspråk:
1function validateIban(iban) {
2 // Fjern mellomrom og konverter til store bokstaver
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Sjekk grunnleggende format
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Omorganiser og konverter bokstaver til tall
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 // Beregn mod 97
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// Eksempel på bruk
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 (ugyldige sjekktall)
32
1def validate_iban(iban):
2 # Fjern mellomrom og konverter til store bokstaver
3 iban = iban.replace(' ', '').upper()
4
5 # Grunnleggende format-sjekk
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Flytt de første 4 tegnene til slutten
10 rearranged = iban[4:] + iban[:4]
11
12 # Konverter bokstaver til tall (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 # Sjekk om mod 97 er lik 1
21 return int(converted) % 97 == 1
22
23# Eksempel på bruk
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 (ugyldige sjekktall)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Fjern mellomrom og konverter til store bokstaver
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Grunnleggende format-sjekk
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Flytt de første 4 tegnene til slutten
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Konverter bokstaver til tall
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 // Beregn 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 // Legg til flere land etter behov
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Landkode ${countryCode} støttes ikke`);
11 }
12
13 // Generer tilfeldig BBAN basert på landsformat
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 // Generer numeriske tegn
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generer alfabetiske tegn
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 // Generer alfanumeriske tegn
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 // Beregn sjekktall
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Lag en initial IBAN med '00' som sjekktall
55 const initialIban = countryCode + '00' + bban;
56
57 // Omorganiser og konverter bokstaver til tall
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 // Beregn 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// Eksempel på bruk
77console.log(generateIban('DE')); // Genererer en gyldig tysk IBAN
78console.log(generateIban('GB')); // Genererer en gyldig britisk 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 # Legg til flere land etter behov
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Landkode {country_code} støttes ikke")
14
15 # Generer tilfeldig BBAN basert på landsformat
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': # Numerisk
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Alfabetisk
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumerisk
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Beregn sjekktall
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 # Lag en streng for beregning av sjekktall
40 check_string = bban + country_code + '00'
41
42 # Konverter bokstaver til tall (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 # Beregn 98 minus mod 97
51 return str(98 - int(numeric) % 97).zfill(2)
52
53# Eksempel på bruk
54print(generate_iban('DE')) # Genererer en gyldig tysk IBAN
55print(generate_iban('GB')) # Genererer en gyldig britisk IBAN
56
IBAN-generator- og valideringsverktøyet gir en enkel, men kraftig løsning for testing og utdanningsformål relatert til internasjonale bankidentifikatorer. Ved å tilby både genererings- og valideringsmuligheter i et brukervennlig grensesnitt, eliminerer det behovet for komplekse konfigurasjoner eller tredjepartsintegrasjoner.
Enten du utvikler finansielle applikasjoner, tester betalingssystemer eller lærer om internasjonale bankstandarder, gir dette verktøyet en enkel måte å arbeide med IBAN-er på. Den omfattende valideringen sikrer at alle genererte IBAN-er er strukturelt sunne og i samsvar med internasjonale standarder.
Prøv å generere eller validere en IBAN nå for å oppleve verktøyets muligheter på nært hold!
Oppdag flere verktøy som kan være nyttige for arbeidsflyten din