Domingo, 01/December/2024
Programando {Init:}
Compartilhe
Login form
Seções
Dicas de Programação [4]
Novidades de Softwares [0]
Jogos e Novidades da Area [0]
Novidades e Noticias Interessantes [4]
Noticias Interessantes Relacionadas a Informatica em Geral [0]
Menu
Busca
Calendario
«  Setembro 2011  »
DomSegTerQuaQuiSexSab
    123
45678910
11121314151617
18192021222324
252627282930
Postagens Antigas
Mural de Recados
200
Estatisticas

Total online: 3
Visitantes 3
Usuarios 0
Pagina Principal » 2011 » Setembro » 12
Bom,dei uma pesquisada no fim de semana e achei esse artigo interessante sobre como funciona a checagem de cpf em sites e programas (online/offline)
Espero que sirva para analise e entendimento e assim ajudar em futuras aplicações.
Ps: o codigo usado como exemplo abaixo é de Java Script,mas a logica é a mesma para qualquer outro tipo de programa.
Boa Leitura.


Como Funciona a Checagem de CPF em sites e programas em geral?

Vamos entender um pouco como funciona o algoritmo do CPF. Na primeira parte estudaremos o funcionamento do cálculo do CPF para validar os dígitos verificadores que fazem a diferenciação de um CPF para outro.

Logo abaixo segue um código que faz a validação do CPF, mas mesmo que você queria desenvolver o seu próprio código, em javascript ou outra linguagem, abaixo segue uma breve explicação.

Esse algoritmo que é responsável pela validação do CPF foi feito de acordo com a regras do Ministério da Fazenda.

Conhecendo o cálculo do algoritmo do CPF

O CPF é composto por onze algarismos, onde os dois últimos são chamados de dígitos verificadores, ou seja, os dois últimos dígitos são criados a partir dos nove primeiros. O cálculo é feito em duas etapas utilizando o módulo de divisão 11.

Para exemplificar melhor, iremos calcular os dígitos verificadores de um CPF imaginário, por exemplo, 222.333.666-XX.

Fazendo o cálculo do primeiro dígito verificador

O primeiro dígito é calculado com a distribuição dos dígitos colocando-se os valores 10, 9, 8, 7, 6, 5, 4, 3, 2 conforme a representação abaixo:

Números do CPF

2

2

2

3

3

3

6

6

6

Valores definidos
para o calculo

10

9

8

7

6

5

4

3

2

Na seqüência multiplicaremos os valores de cada coluna, confira:

Números do CPF

2

2

2

3

3

3

6

6

6

Valores definidos
para o calculo

10

9

8

7

6

5

4

3

2

Total

20

18

16

21

18

15

24

18

12

Em seguida efetuaremos o somatório dos resultados (20+18+...+18+12), o resultado obtido (162) será divido por 11. Considere como quociente apenas o valor inteiro, o resto da divisão será responsável pelo cálculo do primeiro dígito verificador.

Vamos acompanhar: 162 dividido por 11 obtemos 14 de quociente e 8 de resto da divisão. Caso o resto da divisão seja menor que 2, o nosso primeiro dígito verificador se torna 0 (zero), caso contrário subtrai-se o valor obtido de 11, que é nosso caso, sendo assim nosso dígito verificador é 11-8, ou seja, 3 (três), já temos parte do CPF, confira: 222.333.666-3X.

Fazendo o cálculo do segundo dígito verificador

Para o cálculo do segundo dígito será usado o primeiro dígito verificador já calculado. Montaremos uma tabela semelhante à anterior, só que desta vez usaremos na segunda linha os valores 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, já que estamos incorporando mais um algarismo para esse cálculo. Veja:

Números do CPF

2

2

2

3

3

3

6

6

6

3

Valores definidos
para o calculo

11

10

9

8

7

6

5

4

3

2

Na próxima etapa faremos como na situação do cálculo do primeiro dígito verificador. Multiplicaremos os valores de cada coluna e efetuaremos o somatório dos resultados obtidos: 22+20+18+24+21+18+30+24+18+4=201.

Números do CPF

2

2

2

3

3

3

6

6

6

3

Valores definidos
para o calculo

11

10

9

8

7

6

5

4

3

2

Total

22

20

18

24

21

18

30

24

18

6

Agora pegamos esse valor e dividimos por 11. Considere novamente apenas o valor inteiro do quociente, e com o resto da divisão, no nosso caso 3, usaremos para o cálculo do segundo dígito verificador, assim como na primeira parte.

Caso o valor do resto da divisão seja menor que 2, esse valor passa automaticamente a ser zero, que é o nosso caso, caso contrário é necessário subtrair o valor obtido de 11 para se obter o dígito verificador.

Neste caso chegamos ao final dos cálculos e descobrimos que os dígitos verificadores do nosso CPF hipotético são os números 3 e 8, portanto o CPF ficaria assim: 222.333.666-38.

Exemplo pratico da validação do CPF

Agora que já conhecemos como funciona o algoritmo do CPF, vamos partir para a programação do nosso código.

O nosso código é composto por uma função que vai retornar um valor true ou false para que o formulário seja enviado ou não. Abaixo do código tem uma descrição para um melhor acompanhamento e no fim da matéria um link para o exemplo desenvolvido aqui.

Exemplo:

1 <script language="Javascript">
2         function validaCPF() {
3                 cpf = document.validacao.cpfID.value;
4                 erro = new String;
5               &nb ... Leia Mais

Category: Dicas de Programação | Views: 1792 | Added by: constantine | Date: 11/September/2011 | Comments (0)

Copyright MyCorp © 2024
Powered by uCoz