Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17738
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validador de CPF em PHP

15-04-2007 19:59

Nesse artigo vou mostrar como validar um CPF com PHP.

Veja também a versão em JavaScript
viewtopic.php?t=655

Para quem não sabe, o CPF não são números qualquer.
São números que somados e dividios por 11 tem que dar resto 0.

Faça um teste ai somando os números do seu CPF e divida por 11, vai retornar resto 0.

Com base nisso, montei esse verificador.

<?php /* abaixo é o valor do CPF que será passado do modo que você quizer */ $cpf = "11111111111"; /* abaixo criamos $soma com o valor total dos números do CPF */ $soma = $cpf{0}+$cpf{1}+$cpf{2}+$cpf{3}+$cpf{4}+$cpf{5}+$cpf{6}+$cpf{7}+$cpf{8}+$cpf{9}+$cpf{10}; /* agora, é obtido o resto da divisão do [b]$soma[/b] por 11 */ $total = $soma % 11; /* como é notório, se a pessoa colocar 11 4(quatros), por exemplo, vai dar 44 que dividido por 11 vai dar 4(quatro), não sobrando resto, iria passar essas linhas abaixo vão inibir o uso dessas combinações */ $op1 = 00000000000; $op2 = 11111111111; $op3 = 22222222222; $op4 = 33333333333; $op5 = 44444444444; $op6 = 55555555555; $op7 = 66666666666; $op8 = 77777777777; $op9 = 88888888888; $op10 = 99999999999; /* nesse if não deixamos passar: - cpf que tenha as combinações acima; tendo, o script bloqueia o restante do conteúdo abaixo, não permitindo o envio ou cadastro ( exit; ) */ if($cpf==$op1 OR $cpf==$op2 OR $cpf==$op3 OR $cpf==$op4 OR $cpf==$op5 OR $cpf==$op6 OR $cpf==$op7 OR $cpf==$op8 OR $cpf==$op9 OR $cpf==$op10) { echo "CPF inválido"; exit; } /* nesse if abaixo: - nenhuma letra passa; - se o CPF tiver + que 11 caracteres não passa; - se sobrar algum valor na divição do $soma por 11 não passa; - se o CPF for vazio. */ if(ereg("[a-zA-Z]", $cpf) OR strlen($cpf) > 11 OR $total!=0 OR $cpf=="") { echo "CPF inválido"; exit; } /* caso, tudo foi de acordo, pode continuar. */ echo "CPF válido, continua..."; ?>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado