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.
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.
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.
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.
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.
Jorge García
Fullstack developer