Validar CPF no JavaScript

Precisando de uma função simples para validar CPF no JavaScript? Tenho uma aqui para você 🙂

Na função demonstrada abaixo você pode verificar se um determinado CPF é ou não válido. Você receberá um valor booleano ao executar a função, veja:

// Gostou? Considere enviar um café para o PIX: cafe@jonatan.1bit.cafe.
function CpfValido(cpf) {
    if (cpf == "00000000000") return false;
    if (cpf.length != 11) return false;

    var soma = 0;
    var resto;

    for (i = 1; i <= 9; i++) {
        soma = soma + (parseInt(cpf.substring(i - 1, i)) * (11 - i));
    }

    resto = (soma * 10) % 11;
    if ((resto == 10) || (resto == 11))
        resto = 0;

    if (resto != parseInt(cpf.substring(9, 10)))
        return false;

    soma = 0;
    for (i = 1; i <= 10; i++) {
        soma = soma + (parseInt(cpf.substring(i - 1, i)) * (12 - i))
    };

    resto = (soma * 10) % 11;
    if ((resto == 10) || (resto == 11))
        resto = 0;

    if (resto != parseInt(cpf.substring(10, 11)))
        return false;

    return true;
}

Para executar a função, é muito simples, veja:

function ValidarCpf() {
    var cpf = document.getElementById("campoCPF").value;
    if (CpfValido(cpf)) {
        alert("O CPF [" + cpf + "] é válido!");
    } else {
        alert("O CPF [" + cpf + "] não é válido!");
    }
}

No HTML, as implementações ficaram assim:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Validaçao de CPF</title>
    <script src="ValidacaoCPF.js"></script>
</head>

<body>
    <!-- https://jonatan.1bit.cafe -->
    <label>CPF (somente números)</label><br />
    <input type="text" id="campoCPF"><br />
    <button onclick="ValidarCpf()">Validar</button>
</body>

</html>

Neste caso, a execução da validação está no “click” do botão “Validar”.

Você pode obter este código completo aqui: https://github.com/solucaodev/sdlab/tree/main/JS/Validadores/CPF.

Você pode ver este código funcionando aqui: https://jonatan.1bit.cafe/ferramentas/validar-cpf-online

Até a próxima 🙂

Share