catbean.pages.dev

Como criar uma função JavaScript para validar CPF em Node.js?

Validar um CPF (Cadastro de Pessoas Físicas) é uma tarefa comum em sistemas brasileiros, e implementar essa validação em Node.js pode ser feito de forma eficiente e confiável. Este método utiliza o algoritmo padrão de verificação dos dígitos verificadores do CPF, garantindo que o número informado seja matematicamente correto.

Pré-requisitos

Implementando a função de validação

A função a seguir verifica se um CPF é válido, removendo máscaras e aplicando o algoritmo de validação dos dígitos verificadores.

function validarCPF(cpf) {
    // Remove máscaras e espaços
    cpf = cpf.replace(/[^\d]/g, '');

    // Verifica se o CPF tem 11 dígitos
    if (cpf.length !== 11) return false;

    // Verifica se todos os dígitos são iguais
    if (/^(\d)\1{10}$/.test(cpf)) return false;

    // Calcula o primeiro dígito verificador
    let soma = 0;
    for (let i = 0; i < 9; i++) {
        soma += parseInt(cpf.charAt(i)) * (10 - i);
    }
    let resto = (soma * 10) % 11;
    if (resto === 10 || resto === 11) resto = 0;
    if (resto !== parseInt(cpf.charAt(9))) return false;

    // Calcula o segundo dígito verificador
    soma = 0;
    for (let i = 0; i < 10; i++) {
        soma += parseInt(cpf.charAt(i)) * (11 - i);
    }
    resto = (soma * 10) % 11;
    if (resto === 10 || resto === 11) resto = 0;
    if (resto !== parseInt(cpf.charAt(10))) return false;

    return true;
}

module.exports = validarCPF;

Exemplo Prático

CPF de Entrada Resultado
123.456.789-09 false
529.982.247-25 true
111.111.111-11 false
529.982.247-25 true

Utilizando a função em seu projeto

Para usar esta função em seu projeto Node.js, basta importá-la e chamá-la com o CPF desejado:

const validarCPF = require('./validarCPF');

// Exemplos de uso
console.log(validarCPF('529.982.247-25')); // true
console.log(validarCPF('123.456.789-09')); // false

Conclusão

Com esta função, você pode validar CPFs de forma rápida e confiável em seus sistemas Node.js, garantindo a integridade dos dados e evitando entradas inválidas. O algoritmo implementado segue as regras oficiais do CPF brasileiro, proporcionando uma solução robusta para suas necessidades de validação.