/CPF

Verificação de CPF

Primary LanguageJavaScript

Verificação de CPF

O algoritmo de validação do CPF calcula o primeiro dígito verificador a partir dos 9 primeiros dígitos do CPF, e em seguida, calcula o segundo dígito verificador a partir dos 9 primeiros dígitos do CPF, mais o primeiro dígito, obtido na primeira parte.

Tome como exemplo o CPF fictício : 111.444.777-05.

Cálculo do primeiro dígito

O primeiro passo é calcular o primeiro dígito verificador, e para isso, separamos os primeiros 9 dígitos do CPF (111.444.777) e multiplicamos cada um dos números, da direita para a esquerda por números crescentes a partir do número 2, como no exemplo abaixo: Multiplicamos cada digito do CPF pelo respectivo número e somamos cada um dos resultados :

1 1 1 4 4 4 7 7 7 10 9 8 7 6 5 4 3 2 10 9 8 28 24 20 28 21 14 10+9+8+28+24+20+28+21+14 = 162 Pegamos o resultado obtido 162 e dividimos por 11. Consideramos como quociente apenas o valor inteiro. 162 / 11 = 14 com resto 8

  • Se o resto da divisão for menor que 2, então o dígito é igual a 0(Zero).
  • Se o resto da divisão for maior ou igual a 2, então o dígito verificador é igual a 11 menos o resto da divisão(11 - resto). No nosso exemplo temos que o resto é 8 então faremos 11 - 8 = 3

Logo o primeiro dígito verificador é 3. Então podemos escrever o CPF com os dois dígitos calculados: 111.444.777 - 3X

Cálculo do segundo dígito

Para calcular o segundo dígito vamos usar o primeiro digito já calculado. Vamos montar a mesma tabela de multiplicação usada no cálculo do primeiro dígito. Só que desta vez usaremos na segunda linha os valores 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 já que estamos incluindo mais um digito no cálculo(o primeiro dígito calculado):

1 1 1 4 4 4 7 7 7 3 11 10 9 8 7 6 5 4 3 2 11 10 9 32 28 24 35 28 21 6 Novamente, efetuamos somamos o resultado da multiplicação: 11 + 10 + 9 + 32 + 28 + 24 + 35 + 28 + 21 + 6 = 204 Dividimos o total do somatório por 11 e consideramos o resto da divisão. 204 / 11 = 18 e resto 6

Após obter o resto da divisão, precisamos aplicar a mesma regra que utilizamos para obter o primeiro dígito:

  • Se o resto da divisão for menor que 2, então o dígito é igual a 0(Zero).
  • Se o resto da divisão for maior ou igual a 2, então o dígito é igual a 11 menos o resto da divisão(11 - resto). 11 - 6= 5 logo 5 é o nosso segundo dígito verificador.

Logo o nosso CPF fictício será igual a: 111.444.777 - 35. Portanto o CPF digitado(111.444.777 - 05) não é válido!