Página do projeto no github

Gerador e validador de CPF

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

Este projeto é mantido no meu pouco tempo livre, se foi útil para você dê um , qualquer doação é bem vinda.

Gerar

Validar

Formatar

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:

  1. 1. Distrito Federal, Goiás, Mato Grosso do Sul e Tocantins;
  2. 2. Pará, Amazonas, Acre, Amapá, Rondônia e Roraima;
  3. 3. Ceará, Maranhão e Piauí;
  4. 4. Pernambuco, Rio Grande do Norte, Paraíba e Alagoas;
  5. 5. Bahia e Sergipe;
  6. 6. Minas Gerais;
  7. 7. Rio de Janeiro e Espírito Santo;
  8. 8. São Paulo;
  9. 9. Paraná e Santa Catarina;
  10. 0. Rio Grande do Sul.

Como usar

Faça o download com NPM.

npm install gerador-validador-cpf --save

ou com Bower.

bower install gerador-validador-cpf --save

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

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")
CPF.validate(12345678900)

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

document.getElementById('valida-CPF').onsubmit = function (event){
  var mensagem = 'CPF Inválido'
  if ( CPF.validate(document.getElementById('cpf-validacao').value) === true ) {
    mensagem = 'CPF Vá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.format(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