Eina de Generació i Validació d'IBAN per a Proves i Verificació
Crea IBAN aleatoris que compleixin el format o valida els existents amb la nostra eina senzilla. Perfecte per a proves d'aplicacions financeres, programari bancari i fins i tot per a finalitats educatives.
Generador i Validador d'IBAN
Documentació
Eina de Generació i Validació d'IBAN
Introducció
L'Eina de Generació i Validació d'IBAN (Número de Compte Bancari Internacional) és una eina completa dissenyada per a proves i verificació en aplicacions financeres, programari bancari i contextos educatius. Aquesta aplicació d'usuari amigable ofereix dues funcions essencials: generar IBAN aleatoris però que compleixin el format i validar la integritat estructural dels IBAN introduïts pels usuaris. Tant si sou un desenvolupador que prova programari financer, un especialista en QA que verifica aplicacions bancàries, o un educador que explica els estàndards bancaris internacionals, aquesta eina proporciona una solució senzilla sense requerir configuracions complexes o integracions de tercers.
Els IBAN (Números de Compte Bancari Internacional) són identificadors de compte estàndard utilitzats internacionalment per facilitar transaccions transfrontereres i reduir errors en transferències de diners internacionals. Cada IBAN consisteix en un codi de país, dígits de control i un número de compte bancari bàsic (BBAN) que segueix formats específics del país. La nostra eina admet múltiples formats de país i assegura que tots els IBAN generats passin l'algorisme de validació MOD 97 especificat en l'estàndard ISO 13616.
Com funcionen els IBAN
Estructura i Format de l'IBAN
Un IBAN consta d'un màxim de 34 caràcters alfanumèrics, tot i que la longitud exacta varia segons el país. L'estructura estàndard inclou:
- Codi de País: Un codi alfabètic de dues lletres ISO 3166-1 (per exemple, DE per a Alemanya, GB per al Regne Unit)
- Dígits de Control: Dos dígits calculats mitjançant l'algorisme MOD 97 per validar l'IBAN
- Número de Compte Bancari Bàsic (BBAN): Format específic del país que pot incloure:
- Codi bancari
- Codi d'oficina (codi de sucursal)
- Número de compte
- Dígits de control nacionals
Per exemple, un IBAN alemany segueix l'estructura DE2!n8!n10!n
on:
DE
és el codi de país2!n
representa dos dígits numèrics de control8!n
representa un codi bancari de vuit dígits10!n
representa un número de compte de deu dígits
Diferents països tenen diferents formats de BBAN, resultant en longituds d'IBAN variables:
País | Longitud | Estructura | Exemple |
---|---|---|---|
Alemanya (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Regne Unit (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
França (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Espanya (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Itàlia (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Algorisme de Validació de l'IBAN
El procés de validació de l'IBAN utilitza l'algorisme MOD 97 tal com s'especifica en l'estàndard ISO 7064. Així és com funciona:
- Mou les primeres quatre característiques (codi de país i dígits de control) al final de l'IBAN
- Converteix totes les lletres a números (A=10, B=11, ..., Z=35)
- Calcula el mòdul 97 del número resultant
- Si el residu és igual a 1, l'IBAN és vàlid
Matemàticament, això es representa com:
El nostre validador implementa aquest algorisme per verificar la integritat estructural de qualsevol IBAN introduït pels usuaris.
Funcions de l'Eina
Generador d'IBAN
El generador d'IBAN crea IBAN aleatoris però vàlids per a fins de prova. Funcions clau inclouen:
- Selecció de País: Trieu entre múltiples països compatibles, incloent Alemanya, Regne Unit, França, Espanya, Itàlia, Països Baixos, Suïssa, Àustria, Bèlgica i Polònia
- Compliment de Format: Tots els IBAN generats segueixen formats específics del país i passen la validació MOD 97
- Generació amb un Clic: Creeu instantàniament IBAN vàlids amb un sol clic de botó
- Copia al Portapapers: Copieu fàcilment els IBAN generats per utilitzar-los en escenaris de prova
- Representació Visual: Vegeu un desgastament codificat per colors dels components de l'IBAN (codi de país, dígits de control, detalls bancaris)
El generador crea IBAN mitjançant:
- Seleccionar el format del país adequat
- Generar dígits aleatoris per a la part BBAN
- Calcular els dígits de control correctes mitjançant l'algorisme MOD 97
- Assemblar l'IBAN complet
Validador d'IBAN
El validador d'IBAN comprova la integritat estructural dels IBAN introduïts pels usuaris. Funcions clau inclouen:
- Verificació de Format: Comprova si l'IBAN segueix el format correcte específic del país
- Validació MOD 97: Verifica els dígits de control mitjançant l'algorisme estàndard
- Desglose Detallat: Mostra els components dels IBAN vàlids (codi de país, dígits de control, codi bancari, número de compte)
- Identificació d'Errors: Proporciona missatges d'error específics per a IBAN no vàlids
- Assistència de Format: Formata automàticament els IBAN introduïts per a una millor llegibilitat
El validador realitza múltiples comprovacions:
- Verifica que el codi de país sigui compatible
- Comprova la longitud de l'IBAN segons els requisits específics del país
- Valida els tipus de caràcters (lletres i números en les posicions correctes)
- Realitza la comprovació MOD 97 per verificar els dígits de control
Guia Pas a Pas
Generant un IBAN
- Accedeix a la Pestanya de Generació: Feu clic a la pestanya "Generador" (seleccionada per defecte)
- Seleccioneu un País: Trieu el vostre país des del menú desplegable
- Genera l'IBAN: Feu clic al botó "Generar IBAN"
- Vegeu el Resultat: L'IBAN generat apareixerà a continuació amb un desgastament visual dels seus components
- Copia al Portapapers: Feu clic al botó "Copia al portapapers" per copiar l'IBAN per a ús posterior
Validant un IBAN
- Accedeix a la Pestanya de Validació: Feu clic a la pestanya "Validador"
- Introduïu un IBAN: Escriviu o enganxeu un IBAN al camp d'entrada
- Els espais i el format es gestionaran automàticament
- L'eina accepta tant IBAN formats (amb espais) com no formats
- Vegeu els Resultats de Validació: L'eina validarà automàticament l'IBAN mentre escriviu
- Comproveu els Detalls: Per a IBAN vàlids, es mostrarà un desgastament dels components
- Revisar Qualsevol Error: Per a IBAN no vàlids, missatges d'error específics ajudaran a identificar el problema
Casos d'Ús
L'eina Generadora i Validadora d'IBAN serveix a múltiples propòsits en diferents dominis:
Desenvolupament i Proves de Programari
- Proves d'API: Generar IBAN vàlids per provar API financers sense utilitzar números de comptes reals
- Validació de Formularis: Provar la lògica de validació d'IBAN en formularis web i aplicacions
- Proves de Casos Extrem: Verificar com les aplicacions gestionen IBAN de diferents països
- Proves de Regresió: Assegurar que el maneig d'IBAN segueixi sent correcte després de les actualitzacions de programari
Desenvolupament d'Aplicacions Financeres
- Sistemes de Pagament: Provar la funcionalitat de processament de pagaments internacionals
- Programari Bancari: Verificar components de parsing i validació d'IBAN
- Aplicacions Fintech: Assegurar el compliment dels estàndards bancaris internacionals
- Sistemes de Bases de Dades: Provar l'emmagatzematge i recuperació de dades d'IBAN
Propòsits Educatius
- Educació sobre Estàndards Bancaris: Demostrar com es estructuren i validen els IBAN
- Alfabetització Financera: Ensenyar als estudiants sobre identificadors bancaris internacionals
- Tutorials de Programació: Utilitzar com a exemple per a algorismes de validació i maneig de dades financeres
- Documentació Tècnica: Generar exemples d'IBAN per a la documentació de l'API
Migració i Conversió de Dades
- Migració de Sistemes Legats: Provar processos de conversió d'IBAN en actualitzacions de sistemes
- Anonimització de Dades: Generar IBAN de prova per substituir números de comptes reals en entorns de desenvolupament
- Sembrat de Bases de Dades: Crear dades de prova realistes per a bases de dades d'aplicacions financeres
Alternatives
Si bé la nostra eina Generadora i Validadora d'IBAN ofereix una experiència simplificada per a fins de prova, hi ha enfocaments alternatius a considerar:
APIs Bancàries Comercials
- Pros: Ofereixen validació addicional contra registres bancaris reals, proporcionen serveis financers més complets
- Contres: Normalment requereixen subscripcions, claus d'API i treball d'integració; poden tenir límits d'ús
Llibreries d'IBAN per a Llenguatges de Programació
- Pros: Es poden integrar directament al vostre codi, ofereixen accés programàtic
- Contres: Requereixen treball de desenvolupament per implementar, poden necessitar actualitzacions regulars per mantenir-se al dia amb els estàndards
Validators Oficials de Bancs
- Pros: Proporcionats per institucions financeres, alta precisió per al seu país específic
- Contres: Normalment limitats a països específics, poden no suportar funcions de generació
Càlcul Manual
- Pros: Ajuda a entendre l'algorisme subjacent, sense dependències d'eines externes
- Contres: Consumeix temps, propens a errors humans, impracticable per a proves a gran escala
La nostra eina tanca la bretxa entre aquestes alternatives proporcionant una interfície senzilla i accessible tant per a la generació com per a la validació sense requerir integració tècnica o subscripcions de pagament.
Preguntes Freqüents
Què és un IBAN?
Un IBAN (Número de Compte Bancari Internacional) és un sistema de numeració internacional estàndard desenvolupat per identificar comptes bancaris a través de fronteres nacionals. Va ser establert per l'Organització Internacional de Normalització (ISO) per facilitar transaccions internacionals sense errors.
Quina precisió té aquest generador d'IBAN?
El generador d'IBAN crea IBAN estructuralment vàlids que passen l'algorisme de comprovació MOD 97 tal com s'especifica en l'estàndard ISO 13616. Si bé els IBAN generats són matemàticament vàlids, són aleatoris i no estan vinculats a comptes bancaris reals, fent-los perfectes per a proves però no per a transaccions reals.
Quins països són compatibles amb aquesta eina?
L'eina actualment admet formats d'IBAN per a Alemanya, Regne Unit, França, Espanya, Itàlia, Països Baixos, Suïssa, Àustria, Bèlgica i Polònia. Aquests cobreixen els formats d'IBAN més utilitzats a Europa.
Puc utilitzar els IBAN generats per a transaccions reals?
No. Els IBAN creats per aquest generador són estructuralment vàlids però generats aleatòriament. No estan connectats a comptes bancaris reals i només s'han d'utilitzar per a proves, educació o fins de demostració.
Com funciona la validació de l'IBAN?
El validador comprova diversos aspectes d'un IBAN:
- Validesa del codi de país
- Longitud correcta per al país especificat
- Validesa del tipus de caràcters (lletres i números en les posicions correctes)
- Verificació dels dígits de control MOD 97 segons l'estàndard ISO
Són importants els espais en un IBAN?
No. Si bé els IBAN sovint es mostren amb espais per a la llegibilitat (normalment en grups de quatre caràcters), els espais es ignoren durant la validació. La nostra eina gestiona tant IBAN formats (amb espais) com no formats.
Es guarden o comparteixen les meves dades d'IBAN quan utilitzo aquesta eina?
No. Aquesta eina opera totalment al vostre navegador. No es envia cap dada d'IBAN a cap servidor, no es guarda ni es comparteix amb tercers. Les vostres dades romanen privades i segures.
Puc validar IBAN de països que no estan a la llista desplegable?
Actualment, l'eina només valida IBAN dels països compatibles que es mostren a la llista desplegable. Si necessiteu validació per a països addicionals, si us plau, feu-nos-ho saber a través del formulari de comentaris.
Per què un IBAN que sembla vàlid pot fallar la validació?
Un IBAN pot fallar la validació per diverses raons:
- Dígits de control incorrectes
- Longitud incorrecta per al país especificat
- Caràcters no vàlids en posicions específiques
- Errors tipogràfics o de transposició
- Codi de país no compatible amb l'eina
Com puc informar d'errors o suggerir millores?
Acollim amb plaer els comentaris per millorar l'eina. Si us plau, utilitzeu el formulari de comentaris accessible a través de l'enllaç al final de la pàgina per informar de qualsevol problema o suggerir millores.
Implementació Tècnica
Per a desenvolupadors interessats en implementar la validació i generació d'IBAN en les seves pròpies aplicacions, aquí teniu exemples de codi en diversos llenguatges de programació:
Validació d'IBAN
1function validateIban(iban) {
2 // Remove spaces and convert to uppercase
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Check basic format
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Rearrange and convert letters to numbers
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 // Calculate 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// Example usage
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 (invalid check digits)
32
1def validate_iban(iban):
2 # Remove spaces and convert to uppercase
3 iban = iban.replace(' ', '').upper()
4
5 # Basic format check
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Move first 4 characters to the end
10 rearranged = iban[4:] + iban[:4]
11
12 # Convert letters to numbers (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 # Check if mod 97 equals 1
21 return int(converted) % 97 == 1
22
23# Example usage
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 (invalid check digits)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Remove spaces and convert to uppercase
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Basic format check
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Move first 4 characters to the end
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Convert letters to numbers
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 // Calculate 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
Generació d'IBAN
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 // Add more countries as needed
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Country code ${countryCode} not supported`);
11 }
12
13 // Generate random BBAN based on country pattern
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 // Generate numeric characters
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generate alphabetic characters
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 // Generate alphanumeric characters
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 // Calculate check digits
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Create initial IBAN with '00' as check digits
55 const initialIban = countryCode + '00' + bban;
56
57 // Rearrange and convert letters to numbers
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 // Calculate 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// Example usage
77console.log(generateIban('DE')); // Generates a valid German IBAN
78console.log(generateIban('GB')); // Generates a valid UK 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 # Add more countries as needed
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Country code {country_code} not supported")
14
15 # Generate random BBAN based on country format
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': # Numeric
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Alphabetic
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alphanumeric
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Calculate check digits
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 # Create string for check digit calculation
40 check_string = bban + country_code + '00'
41
42 # Convert letters to numbers (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 # Calculate 98 minus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Example usage
57print(generate_iban('DE')) # Generates a valid German IBAN
58print(generate_iban('GB')) # Generates a valid UK IBAN
59
Referències
- ISO 13616-1:2007 - "Serveis financers - Número de compte bancari internacional (IBAN) - Part 1: Estructura de l'IBAN"
- Comissió Europea per a Normes Bancàries (ECBS) - "IBAN: Número de Compte Bancari Internacional"
- SWIFT - "Registre d'IBAN"
- Consell Europeu de Pagaments - "IBAN i Identificador de Creditor"
- Banc per a les Liquidacions Internacionals - "Sistemes de pagament, compensació i liquidació"
- Banc Central Europeu - "Àrea Única de Pagaments en Euros (SEPA)"
- ISO 9362 - "Bancs - Missatges de telecomunicació bancària - Codi d'identificador de negoci (BIC)"
- ISO 7064 - "Tecnologia de la informació - Tècniques de seguretat - Sistemes de caràcters de control"
Conclusió
L'Eina de Generació i Validació d'IBAN proporciona una solució senzilla però potent per a proves i fins educatius relacionats amb identificadors bancaris internacionals. En oferir tant capacitats de generació com de validació en una interfície d'usuari amigable, elimina la necessitat de configuracions complexes o integracions de tercers.
Tant si esteu desenvolupant aplicacions financeres, provant sistemes de pagament o aprenent sobre estàndards bancaris internacionals, aquesta eina ofereix una manera senzilla de treballar amb IBAN. La validació completa assegura que tots els IBAN generats siguin estructuralment sòlids i compleixin els estàndards internacionals.
Proveu de generar o validar un IBAN ara per experimentar les capacitats de l'eina de primera mà!
Comentaris
Fes clic a la notificació de comentaris per començar a donar comentaris sobre aquesta eina
Eines relacionades
Descobreix més eines que podrien ser útils per al teu flux de treball