Como Validar CPF em JavaScript

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

Ver este guia em outras linguagens: