Como Validar CPF em JavaScript (Frontend e Backend)

Snippet JavaScript otimizado para validação de CPF. Funciona no navegador e no Node.js.

Introdução

A validação de CPF no lado do cliente melhora a experiência do usuário, fornecendo feedback imediato. Este código JavaScript é leve e eficiente.

O Algoritmo

A lógica segue o padrão da Receita Federal: cálculo do primeiro dígito verificador usando pesos de 10 a 2, e do segundo usando pesos de 11 a 2. O resto da divisão por 11 define o dígito.

Implementação em Javascript

cpf.jsjavascript
function validateCPF(cpf) {
    cpf = cpf.replace(/[^\d]+/g, '');

    if (cpf.length !== 11 || /^(\d)\1+$/.test(cpf)) return false;

    let sum = 0;
    let remainder;

    for (let i = 1; i <= 9; i++) 
        sum += parseInt(cpf.substring(i-1, i)) * (11 - i);
    
    remainder = (sum * 10) % 11;
    if ((remainder === 10) || (remainder === 11)) remainder = 0;
    if (remainder !== parseInt(cpf.substring(9, 10))) return false;

    sum = 0;
    for (let i = 1; i <= 10; i++) 
        sum += parseInt(cpf.substring(i-1, i)) * (12 - i);
    
    remainder = (sum * 10) % 11;
    if ((remainder === 10) || (remainder === 11)) remainder = 0;
    if (remainder !== parseInt(cpf.substring(10, 11))) return false;

    return true;
}

Esta função Javascript utiliza expressões regulares para limpar a entrada e verificar dígitos repetidos. Em seguida, realiza os loops de cálculo para cada dígito verificador. É compatível com qualquer ambiente JS moderno.

Não quer escrever código?

Use nossa ferramenta online gratuita para processar CPF instantaneamente. Perfeito para testes rápidos.

Usar Ferramenta de CPF Online