Precisando de uma função simples para gerar CPF no JavaScript? Tenho uma aqui para você 🙂
Na função demonstrada abaixo você pode gerar um CPF aleatório. Lembre-se que estes CPF’s gerados são fictícios e devem ser utilizados somente para testes/validações.
// Gostou? Considere enviar um café para o PIX: cafe@jonatanwolf.com.br.
function GerarCpfAleatorio() {
const parte1 = GerarNumeroAleatorio();
const parte2 = GerarNumeroAleatorio();
const parte3 = GerarNumeroAleatorio();
const verificador1 = CalculaDigitoVerificador(parte1, parte2, parte3);
const verificador2 = CalculaDigitoVerificador(parte1, parte2, parte3, verificador1);
return `${parte1}.${parte2}.${parte3}-${verificador1}${verificador2}`;
}
function CalculaDigitoVerificador(parte1, parte2, parte3, primeiroDigitoVerificador) {
const numeros = `${parte1}${parte2}${parte3}`.split("");
if (primeiroDigitoVerificador !== undefined) {
numeros[9] = primeiroDigitoVerificador;
}
let soma = 0;
let indice = 0;
let inicial = primeiroDigitoVerificador !== undefined ? 11 : 10
for (let numero = inicial; numero >= 2; numero--) {
soma += parseInt(numeros[indice]) * numero;
indice++;
}
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
}
function GerarNumeroAleatorio() {
return Math.floor(Math.random() * 999).toString().padStart(3, '0');
}
Para executar a função, é muito simples, veja:
function GerarCpf() {
const cpf = document.getElementById("campoCPF");
cpf.value = GerarCpfAleatorio();
}
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>Geração de CPF</title>
<script src="GeracaoCPF.js"></script>
</head>
<body>
<!-- https://jonatanwolf.com.br -->
<label>CPF</label><br />
<input type="text" id="campoCPF"><br />
<button onclick="GerarCpf()">Gerar</button>
</body>
</html>
Neste caso, a execução da geração está no “click” do botão “Gerar”.
Você pode obter este código completo aqui: https://github.com/solucaodev/sdlab/tree/main/JS/Geradores/CPF.
Você pode ver este código funcionando aqui: https://jonatanwolf.com.br/ferramentas/gerar-cpf-online.
Até a próxima 🙂