Voltar à página principal
domingo 15 setembro 2024
13

Como validar o número da carteira de cidadão em JavaScript

A validação do número da carteira de cidadão (ou qualquer outro documento de identificação) é uma prática essencial em muitas aplicações web, especialmente quando lidamos com dados sensíveis ou que requerem autenticação. Neste artigo, você aprenderá como validar o número da carteira de cidadão em JavaScript, utilizando expressões regulares e o algoritmo de Luhn.

Por que validar o número da carteira de cidadão?

Validar o número da carteira de cidadão ajuda a garantir que o formato inserido pelo usuário esteja correto antes de prosseguir com o processamento dos dados. Isso reduz os erros e melhora a qualidade dos dados no sistema, evitando entradas inválidas.

Métodos para validar o número da carteira de cidadão

Existem duas abordagens principais que podem ser utilizadas para validar números de identificação:

1. Validação com expressões regulares: Utilizamos um padrão definido para garantir que o formato do número seja válido (por exemplo, comprimento e estrutura adequados).

2. Validação com o Algoritmo de Luhn: O Algoritmo de Luhn é usado para validar números de identificação, como números de cartão de crédito, garantindo que o número não contenha erros tipográficos.

Validação com expressões regulares

Podemos usar uma expressão regular (regex) para verificar o formato do número da carteira de cidadão. Aqui está um exemplo básico em JavaScript:

function validarCarteiraCidadao(numero) {
    // Expressão regular para validar o formato
    const regex = /^[0-9]{8}$/; // Exemplo: 8 dígitos para o número da carteira de cidadão
    return regex.test(numero);
}

const numero = '12345678';

if (validarCarteiraCidadao(numero)) {
    console.log('Número da carteira de cidadão válido');
} else {
    console.log('Número da carteira de cidadão inválido');
}

Neste exemplo, a expressão regular ^[0-9]{8}$ garante que o número tenha exatamente 8 dígitos, que é um formato típico de alguns números de identificação. O regex pode ser ajustado conforme o formato específico da carteira de cidadão no seu país.

Validação com o Algoritmo de Luhn

O Algoritmo de Luhn é um método amplamente utilizado para validar números de identificação, como cartões de crédito. Ele pode ser adaptado para a validação da carteira de cidadão se o formato do número seguir uma estrutura similar. Aqui está um exemplo em JavaScript:

function validarLuhn(numero) {
    let soma = 0;
    let alternar = false;
    
    for (let i = numero.length - 1; i >= 0; i--) {
        let digito = parseInt(numero.charAt(i), 10);

        if (alternar) {
            digito *= 2;
            if (digito > 9) {
                digito -= 9;
            }
        }

        soma += digito;
        alternar = !alternar;
    }

    return (soma % 10 === 0);
}

const numeroCidadao = '12345678';

if (validarLuhn(numeroCidadao)) {
    console.log('Número válido segundo o Algoritmo de Luhn');
} else {
    console.log('Número inválido segundo o Algoritmo de Luhn');
}

O Algoritmo de Luhn calcula a soma dos dígitos do número de forma alternada, dobrando determinados dígitos e ajustando conforme necessário. Se a soma total for divisível por 10, o número é considerado válido.

Compartilhar:
Criado por:
Author photo

Jorge García

Fullstack developer