Opret tilfældige IBAN'er, der overholder formatet, eller valider eksisterende med vores enkle værktøj. Perfekt til test af finansielle applikationer, banksoftware og uddannelsesmæssige formål.
Det internationale bankkontonummer (IBAN) Generator og Validator er et omfattende værktøj designet til test- og verifikationsformål i finansielle applikationer, banksoftware og uddannelsesmæssige sammenhænge. Denne brugervenlige applikation tilbyder to essentielle funktioner: at generere tilfældige, men formatkompatible IBAN'er og at validere den strukturelle integritet af brugerindtastede IBAN'er. Uanset om du er udvikler, der tester finansiel software, en QA-specialist, der verificerer bankapplikationer, eller en underviser, der forklarer internationale bankstandarder, giver dette værktøj en ligetil løsning uden at kræve komplekse konfigurationer eller tredjepartsintegrationer.
IBAN'er (International Bank Account Numbers) er standardiserede kontoenheder, der anvendes internationalt for at lette grænseoverskridende transaktioner og reducere fejl i internationale pengeoverførsler. Hver IBAN består af en landskode, kontrolcifre og et grundlæggende bankkontonummer (BBAN), der følger landspecifikke formater. Vores værktøj understøtter flere landes formater og sikrer, at alle genererede IBAN'er består MOD 97 valideringsalgoritmen specificeret i ISO 13616 standarden.
En IBAN består af op til 34 alfanumeriske tegn, selvom den præcise længde varierer fra land til land. Den standardiserede struktur inkluderer:
For eksempel følger en tysk IBAN strukturen DE2!n8!n10!n
, hvor:
DE
er landskoden2!n
repræsenterer to numeriske kontrolcifre8!n
repræsenterer en otte-cifret bankkode10!n
repræsenterer et ti-cifret kontonummerForskellige lande har forskellige BBAN-formater, hvilket resulterer i varierende IBAN-længder:
Land | Længde | Struktur | Eksempel |
---|---|---|---|
Tyskland (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
UK (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Frankrig (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Spanien (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Italien (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
IBAN valideringsprocessen bruger MOD 97 algoritmen som specificeret i ISO 7064 standarden. Her er hvordan det fungerer:
Matematisk er dette repræsenteret som:
Vores validator implementerer denne algoritme for at verificere den strukturelle integritet af enhver IBAN indtastet af brugerne.
IBAN generatoren skaber tilfældige, men gyldige IBAN'er til testformål. Nøglefunktioner inkluderer:
Generatoren skaber IBAN'er ved at:
IBAN validatoren tjekker den strukturelle integritet af brugerindtastede IBAN'er. Nøglefunktioner inkluderer:
Validatoren udfører flere tjek:
IBAN Generator og Validator værktøjet tjener flere formål på tværs af forskellige domæner:
Mens vores IBAN Generator og Validator værktøj tilbyder en strømlinet oplevelse til testformål, er der alternative tilgange at overveje:
Vores værktøj brokker kløften mellem disse alternativer ved at tilbyde en simpel, tilgængelig grænseflade til både generation og validering uden at kræve teknisk integration eller betalte abonnementer.
En IBAN (International Bank Account Number) er et standardiseret internationalt nummereringssystem udviklet til at identificere bankkonti på tværs af nationale grænser. Det blev etableret af International Organization for Standardization (ISO) for at lette fejlfri internationale transaktioner.
IBAN-generatoren skaber strukturelt gyldige IBAN'er, der består MOD 97 kontrolalgoritmen som specificeret i ISO 13616 standarden. Selvom de genererede IBAN'er er matematik gyldige, er de tilfældige og ikke knyttet til faktiske bankkonti, hvilket gør dem perfekte til test, men ikke til rigtige transaktioner.
Værktøjet understøtter i øjeblikket IBAN-formater for Tyskland, Storbritannien, Frankrig, Spanien, Italien, Holland, Schweiz, Østrig, Belgien og Polen. Disse dækker de mest almindeligt anvendte IBAN-formater i Europa.
Nej. De IBAN'er, der oprettes af denne generator, er strukturelt gyldige, men tilfældigt genererede. De er ikke forbundet til rigtige bankkonti og bør kun bruges til test, uddannelsesmæssige eller demonstrationsformål.
Validatoren tjekker flere aspekter af en IBAN:
Nej. Selvom IBAN'er ofte vises med mellemrum for læsbarhed (normalt i grupper af fire tegn), ignoreres mellemrum under validering. Vores værktøj håndterer både formaterede og uformaterede IBAN'er.
Nej. Dette værktøj fungerer helt i din browser. Ingen IBAN-data sendes til nogen server, gemmes eller deles med tredjeparter. Dine data forbliver private og sikre.
I øjeblikket validerer værktøjet kun IBAN'er fra de understøttede lande, der er angivet i dropdown-menuen. Hvis du har brug for validering for yderligere lande, bedes du give os besked via feedbackformularen.
En IBAN kan fejle valideringen af flere grunde:
Vi byder feedback velkommen for at forbedre værktøjet. Brug venligst feedbackformularen, der er tilgængelig via linket nederst på siden, til at rapportere eventuelle problemer eller foreslå forbedringer.
For udviklere, der er interesserede i at implementere IBAN validering og generation i deres egne applikationer, her er kodeeksempler i forskellige programmeringssprog:
1function validateIban(iban) {
2 // Fjern mellemrum og konverter til store bogstaver
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Tjek grundlæggende format
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Omarranger og konverter bogstaver til tal
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å brug
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 kontrolcifre)
32
1def validate_iban(iban):
2 # Fjern mellemrum og konverter til store bogstaver
3 iban = iban.replace(' ', '').upper()
4
5 # Grundlæggende format tjek
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Flyt de første 4 tegn til slutningen
10 rearranged = iban[4:] + iban[:4]
11
12 # Konverter bogstaver til tal (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 # Tjek om mod 97 er lig med 1
21 return int(converted) % 97 == 1
22
23# Eksempel på brug
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 kontrolcifre)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Fjern mellemrum og konverter til store bogstaver
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Grundlæggende format tjek
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Flyt de første 4 tegn til slutningen
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Konverter bogstaver til tal
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 // Tilføj flere lande efter behov
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Landskode ${countryCode} understøttes ikke`);
11 }
12
13 // Generer tilfældig BBAN baseret 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 kontrolcifre
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Opret initial IBAN med '00' som kontrolcifre
55 const initialIban = countryCode + '00' + bban;
56
57 // Omarranger og konverter bogstaver til tal
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å brug
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 # Tilføj flere lande efter behov
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Landskode {country_code} understøttes ikke")
14
15 # Generer tilfældig BBAN baseret 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 kontrolcifre
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 # Opret streng til kontrolcifreberegning
40 check_string = bban + country_code + '00'
41
42 # Konverter bogstaver til tal (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å brug
54print(generate_iban('DE')) # Genererer en gyldig tysk IBAN
55print(generate_iban('GB')) # Genererer en gyldig britisk IBAN
56
IBAN Generator og Validator værktøjet giver en simpel, men kraftfuld løsning til test- og uddannelsesmæssige formål relateret til internationale bankidentifikatorer. Ved at tilbyde både genererings- og valideringsmuligheder i en brugervenlig grænseflade eliminerer det behovet for komplekse konfigurationer eller tredjepartsintegrationer.
Uanset om du udvikler finansielle applikationer, tester betalingssystemer eller lærer om internationale bankstandarder, tilbyder dette værktøj en ligetil måde at arbejde med IBAN'er på. Den omfattende validering sikrer, at alle genererede IBAN'er er strukturelt sunde og overholder internationale standarder.
Prøv at generere eller validere en IBAN nu for at opleve værktøjets funktioner førstehånds!
Opdag flere værktøjer, der måske kan være nyttige for din arbejdsgang.