Como validar um número IBAN: guia passo a passo

Como validar um número IBAN: guia passo a passo

Aprenda a validar números IBAN utilizando o algoritmo MOD-97. Guia completo com exemplos práticos, excertos de código e boas práticas para implementar a validação de IBAN nos seus sistemas de pagamentos.

Escrito por Random IBAN Team · Publicado em 2025-01-15 · Atualizado em 2026-02-01
#IBAN validation #MOD-97 algorithm #IBAN verification #IBAN checksum #payment systems

Validar um IBAN é um passo essencial em qualquer sistema de processamento de pagamentos para detetar valores malformados ou introduzidos incorretamente antes de entrarem no seu fluxo de pagamentos. A validação do IBAN envolve verificar o formato, confirmar o código do país, confirmar o comprimento correto e, sobretudo, validar os dígitos de controlo através do algoritmo MOD-97: a ISO 13616-1 define a estrutura do IBAN, enquanto a ISO/IEC 7064 define o esquema de dígitos de controlo MOD97-10. Estas verificações não provam que a conta bancária subjacente existe, está atribuída ou pode receber um pagamento.


Passo 1: Verificar o formato

O primeiro passo na validação de um IBAN é verificar o formato. Todos os IBAN válidos começam com um código de país de duas letras, seguido de dois dígitos de controlo (0-9) e, depois, o Basic Bank Account Number (BBAN). Remova todos os espaços e converta a cadeia completa para maiúsculas antes da validação. Os IBAN não distinguem maiúsculas de minúsculas, mas devem ser normalizados para processamento. Rejeite qualquer entrada que contenha caracteres especiais, comece por números ou não siga o padrão de código do país seguido de dígitos.


Passo 2: Verificar o código do país e o comprimento

Em seguida, confirme que o código do país é reconhecido e suportado pelo seu sistema. O Random IBAN suporta atualmente 42 países, incluindo DE (Alemanha), FR (França), GB (Reino Unido), ES (Espanha) e IT (Itália). Cada país tem um comprimento específico de IBAN:

País Código Comprimento
Alemanha DE 22
França FR 27
Reino Unido GB 22
Espanha ES 24
Itália IT 27

Se o comprimento da entrada não corresponder à especificação do código do país indicado, o IBAN é inválido.


Passo 3: Validar os dígitos de controlo com MOD-97

O passo mais importante consiste em verificar os dígitos de controlo através do algoritmo MOD-97. Num modelo simples de erros aleatórios uniformes, um valor incorreto passa com uma probabilidade de 1/97, o que corresponde a uma taxa de deteção estimada de cerca de 98,97%; os padrões reais de erros de digitação podem ser diferentes. A verificação confirma a consistência interna, não a existência de uma conta:

  1. Mova os quatro primeiros caracteres (o código do país e os dígitos de controlo) para o fim; por exemplo, DE89370400440532013000 torna-se 370400440532013000DE89.
  2. Substitua cada letra pelo respetivo valor numérico (A=10, B=11, ..., Z=35); D=13, E=14 → 370400440532013000131489.
  3. Calcule o módulo 97: divida o número resultante por 97.
  4. Verifique o resto: se for igual a 1, o IBAN é válido.

Exemplo de código: JavaScript

Este excerto verifica apenas o dígito de controlo MOD-97. Valide separadamente o país, o comprimento, os caracteres permitidos e quaisquer regras nacionais aplicáveis; passar a verificação não confirma que a conta existe.

function validateIBAN(iban) {
  const cleaned = iban.replace(/\s/g, '').toUpperCase();
  const rearranged = cleaned.slice(4) + cleaned.slice(0, 4);
  const numeric = rearranged.replace(/[A-Z]/g, (ch) =>
    (ch.charCodeAt(0) - 55).toString()
  );
  const remainder = BigInt(numeric) % 97n;
  return remainder === 1n;
}

Boas práticas de implementação

Nos sistemas de produção, implemente a validação em vários pontos do fluxo de dados:

  • No cliente — valide no navegador para dar feedback imediato.
  • No servidor — repita a validação no backend para impedir manipulações.
  • No armazenamento — guarde apenas IBAN validados na base de dados.
  • Na monitorização — registe métricas agregadas de falhas de validação e evite guardar IBAN completos nos registos.

Pode testar a sua lógica de validação com o nosso gerador de IBAN para criar casos de teste sintéticos com dígitos de controlo válidos e verificar a implementação com o nosso validador de IBAN online. Nenhuma das ferramentas verifica se uma conta existe ou está atribuída.


Erros comuns a evitar

  • Esquecer-se de normalizar a entrada (remover espaços e converter para maiúsculas).
  • Utilizar um mapeamento incorreto de caracteres para números (lembre-se de que A=10, não A=1).
  • Tentar validar como números inteiros normais em vez de utilizar inteiros grandes (erros de overflow).
  • Não atualizar as especificações de comprimento por país quando a regulamentação mudar.

Valide sempre de acordo com as especificações ISO 13616-1 mais recentes e o esquema de dígitos de controlo ISO/IEC 7064 MOD97-10.

Experimente Nossas Ferramentas IBAN

Coloque seu conhecimento em prática com nossas ferramentas gratuitas.