Skip to content

BinaryLeo/js_cpf_validation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

js_cpf_validation

Validate a Brazilian CPF using javascript
Validando CPF - Cadastro de Pessoas Físicas

License GitHub last commit GitHub top language

image

A CPF number is the Tax ID generated once you have been registered into the Brazilian Revenue. CPF stands for "Cadastro de Pessoas Físicas" (Register of Physical (or Natural) Persons). The CPF has 11 digits and it may be issued by the Brazilian revenue service in Brazil or Brazilian consulates and embassies abroad.

A CPF is required not only to purchase real estate in Brazil, but many other things such as paying your taxes, opening a bank account in Brazil, opening a company in Brazil, getting utility services, and being able to enter into general contracts drafted in Brazil.

The Brazilian CPF is composed of 11 digits. The first eight are generated by the Internal Revenue Service. The ninth digit refers to the region where the CPF was registered. The last 2 are check digits.

O CPF Brasileiro é composto por 11 dígitos. Os oito primeiros são gerados pela Receita Federal. O nono dígito diz respeito a região onde o CPF foi registrado.

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

705.484.450-52 Brazilian CPF = 11 Digits / 11 digitos
705.484.45 = Dígitos definidos pela Receita Federal
0 = Região Fiscal emissora RS - Rio Grande do Sul
5 = Primeiro dígito verificador
2 = Segundo dígito verificador

The check digits are used to validate if the combination is valid without the need to consult the IRS database. But it is not a guarantee that the CPF in question is active or regular.

Os Dígitos verificadores são usados para verificar se a combinação é válida sem que haja a necessidade de consultar o banco de dados da Receita Federal. Mas não é uma garantia de que o CPF em questão seja ativo ou regular.

Algoritimo - Algorithm:

1st 2nd 3rd 4th 5th 6th 7th 8th 9th
7x 0x 5x 4x 8x 4x 4x 5x 0x
10 9 8 7 6 5 4 3 2
70 0 40 28 48 20 16 15 2

multiply the first 9 digits by a regressive sequence of digits between 10 and 2
multiplica-se os nove primeiros digitos por uma sequência regressiva de digitos entre 10 e 2

10 9 8 7 6 5 4 3 2

result/ resultado

11 - (237 % 11) = 5 is the tenth digit of the CPF / 5 é o décimo dígito do CPF

Now we add the new digit to the process.
Adicionamos o novo dígito ao processo

1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th
7x 0x 5x 4x 8x 4x 4x 5x 0x 5x
11 10 9 8 7 6 5 4 3 2
77 0 45 32 56 24 20 20 0 10

start the sequence from 11
iniciamos a sequencia a partir de 11

77 0 45 32 56 24 20 20 0 10

77 0 45 32 56 24 20 20 0 10 -> result = 284

11 - (284 % 11) = 2 is the eleventh digit of the CPF /2 é o décimo primeiro dígito do CPF
Final sequence - Full CPF / CPF Válido: 705.484.450 + 5 + 2 = 705.484.450-52