Validador de cartão

Confira o algoritmo de Luhn e a bandeira no seu navegador. Nenhum número é enviado.

A checagem acontece só neste navegador. Nada é enviado a um servidor. O Luhn não confirma cartão existente e não autoriza pagamento. Prefira os exemplos fictícios.

Validador de cartão

Exemplos

Como o Luhn funciona

  1. Fique só com os dígitos. Espaços e traços não entram na conta.
  2. Da direita para a esquerda, dobre um dígito e pule o outro. O último dígito não é dobrado.
  3. Se o dobro passar de 9, subtraia 9 (é o mesmo que somar os dois algarismos).
  4. Some tudo. O número passa quando essa soma é múltipla de 10.

Exemplos de conferência

  • Válido: 4111 1111 1111 1111 (Visa) e 3782 822463 10005 (American Express).
  • Inválido: 4111 1111 1111 1112. Só o último dígito mudou e o Luhn deixa de fechar.

Bandeira é um palpite pelo início do número (Visa, Mastercard, American Express, Elo, Hipercard ou Diners). Elo que começa com 4 não deve ser lido como Visa.

JavaScript para colar no seu programa

O trecho abaixo é só texto nesta página. Ele não envia o número para lugar nenhum.

function luhnValido(numero) {
  const digitos = String(numero).replace(/\D/g, '');
  let soma = 0;
  let dobrar = false;

  for (let i = digitos.length - 1; i >= 0; i -= 1) {
    let valor = Number(digitos[i]);
    if (dobrar) {
      valor *= 2;
      if (valor > 9) {
        valor -= 9;
      }
    }
    soma += valor;
    dobrar = !dobrar;
  }

  return /^\d{13,19}$/.test(digitos) && soma % 10 === 0;
}

Como usar

  1. Digite ou cole o número, com ou sem espaços.
  2. A leitura do Luhn e da bandeira aparece na hora.
  3. Use os exemplos válido e inválido para comparar.
  4. Copie o trecho de JavaScript se quiser repetir a conta no seu programa.

Perguntas frequentes

O número do cartão é enviado?

Não. A validação fica no navegador e nada é enviado a um servidor.

Luhn válido significa que o cartão existe?

Não. O algoritmo só confere o dígito verificador. Não consulta banco, bandeira nem autoriza pagamento.

Por que um número que começa com 4 pode ser Elo?

Alguns BIN da Elo também começam com 4. A ferramenta usa o prefixo mais específico, não só o primeiro dígito.