Validação do CPF

Descrição

O CPF é um número de identificação pessoal que é utilizado para fins fiscais e de segurança social, que é composto por 11 dígitos, sendo que os dois últimos são os dígitos verificadores.

O Dígito Verificador (DV) do CPF é processado através de um algoritmo que utiliza os 9 primeiros dígitos para calcular os dois últimos dígitos verificadores. O algoritmo do DV é o mesmo para os dois dígitos verificadores, sendo que o primeiro é calculado a partir dos 9 primeiros dígitos e o segundo a partir dos 10 primeiros dígitos.

O cálculo do primeiro DV começa com o produto dos nove primeiros número do CPF multiplicados com os pesos 10, 9, ... 2. Para o número 000111222 o primeiro dígito pode ser calculado pela Tabela 1:

Tabela 1 - Cálculo do Primeiro Dígito Verificador

1098765432
Número CPF000111222
Multiplicação000765864

Calcule o somatório das multiplicações (0 + 0 + ... + 4 = 36). Depois divida o resultado obtido por 11, ou seja, 36 dividido por 11 é igual a 3 com resto da divisão 3. Se o resto da divisão for menor que 2, o primeiro dígito verificador se torna 0, caso contrário subtrai-se o valor obtido de 11. Sendo assim, o primeiro digito verificador será 11 - 3 = 8. Nesse momento o CPF será 000.111.222-8X.

Para calcular o segundo dígito verificador é preciso construir o produto dos dez primeiros número do CPF, incluindo o primeiro dígito, multiplicados com os pesos 11, 10, 9, ... 2 (Veja Tabela 2):

Tabela 2 - Cálculo do Segundo Dígito Verificador

111098765432
Número CPF0001112228
Multiplicação000876108616

Calcule o somatório das multiplicações (0 + 0 + ... + 16 = 61). Novamente divide-se o resultado por 11, logo 61 divido por 11 é igual a 5 com resto 6. Se o resto da divisão seja menor que 2, o digito será 0, caso contrário subtrai-se de 11. Portanto, o resultado do segundo dígito será 11 - 6 = 5, e o CPF será 000.111.222-85.

Para mais detalhes veja a Tabela 1:

Tabela 1 - Exemplos de validação do DV.

CPFValido
12345678909true
00011122285true
11122233300false
11122233396true

Códigos

Editar esta página