Página do projeto no github

Gerador e validador de CPF

Biblioteca JS open-source para gerar, validar e formatar CPF.

Follow @tiagoporto Fork Issue Star

Gerar

Validar

Formatar

Este foi um dos meus primeiros exercícios aprendendo PHP, depois de um bom tempo resolvi converter o código para JS e melhorá-lo. Disponibilizo está ferramenta para auxiliar outros desenvolvedores em testes de software, não possui qualquer vínculo com a Receita Federal do Brasil.

A ferramenta utiliza o seguinte algoritmo para verificação e geração do CPF.

Um CPF declarado como válido por essa ferramenta não significa que ele exista no Cadastro Nacional de Pessoas Físicas, nem que seja um número ativo ou com situação cadastral regular. Para conferir tais dados, consulte o site oficial da Secretaria da Receita Federal do Brasil.

O número CPF guarda o estado de onde foi emitido, esse número corresponde ao último algarismo anterior aos dois dígitos verificadores.

Um exemplo de CPF nº 000.000.008-00, o número 8 corresponde ao estado de São Paulo.

Veja abaixo os códigos correspondentes aos estados brasileiros:

Como usar

Faça o download de uma das versões:

Se preferir baixe com o Bower.

bower install gerador-validador-cpf --save

Ou com o NPM.

npm install gerador-validador-cpf --save

Inclua o arquivo no rodapé da sua página, como no exemplo.

<script src="js/CPF.js"></script>

Gerando CPF

Para gerar CPF basta chamar a função generate(), veja um exemplo:

CPF.generate();

Exemplo completo de uma possível utilização com javascript.

document.getElementById('btn-gerar-CPF').onclick = function(){
    document.getElementById('CPF').innerHTML = CPF.generate();
};

A função recebe como parâmetro opcional a formatação do CPF, opções.

Validando CPF

Para validar um CPF basta chamar a função validate(cpf), passando como parâmetro o número a ser validado, não se preocupe com os caracteres ., - e espaço, a função fica encarregada de eliminar esses caracteres para verificação posterior, veja um exemplo:

CPF.validate("123.456.789-00");

Exemplo completo de uma possível utilização com javascript com tratamento da mensagem de erro.

document.getElementById('valida-CPF').onsubmit = function (event){
  if ( CPF.validate(document.getElementById('cpf-validacao').value) === true ) {
    var mensagem = 'CPF Válido';
  }else{
    var mensagem = 'CPF Inválido';
  }

  document.getElementById('resultado-validacao').innerHTML = mensagem;
};

Formatando CPF

Para formatar um CPF basta chamar a função format(cpf, param), passando como parâmetro o CPF a ser formatado, não se preocupe com os caracteres ., - e espaço, a função fica encarregada de eliminar esses caracteres para verificação posterior, veja um exemplo:

CPF.format("123.456.789-00");

Exemplo completo de uma possível utilização com javascript.

document.getElementById('CPF').onblur = function (){
    document.getElementById('CPF').value = CPF.formata(document.getElementById('CPF').value);
};

Opções de formatação.

Padrão
CPF.format('12345678901');
Gera um CPF no formato xxx.xxx.xxx-xx
Dígitos
CPF.format('123.456.789-01', 'digits');
Gera um CPF no formato xxxxxxxxxxx
Verificador
CPF.format('12345678901', 'checker');
Gera um CPF no formato xxxxxxxxx-xx