PUBLICIDADE
Este código tem nota
9,5

Autor

moa

Moacir Fernandes

membro deste abril de 2008

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

Com que frequência você acessa o CódigoFonte.com.br?

Validação de CPF com PHP


Neste script, vamos aprender a validar um CPF, para quando alguém preencher o seu formulário, não inventar um CPF qualquer, pois o CPF ele é uma sequência de cálculos, por isso é muito importante você adicionar um validador em seus formulários.

Fiz o mais resumido possível.

Abraços,
Moacir
<?php
/*
@autor: Moacir Selínger Fernandes
@email: hassed@hassed.com
Qualquer dúvida é só mandar um email
*/

// Função que valida o CPF
function validaCPF($cpf)
{	// Verifiva se o número digitado contém todos os digitos
    $cpf = str_pad(ereg_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT);
	
	// Verifica se nenhuma das sequências abaixo foi digitada, caso seja, retorna falso
    if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222' || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666' || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999')
	{
	return false;
    }
	else
	{   // Calcula os números para verificar se o CPF é verdadeiro
        for ($t = 9; $t < 11; $t++) {
            for ($d = 0, $c = 0; $c < $t; $c++) {
                $d += $cpf{$c} * (($t + 1) - $c);
            }

            $d = ((10 * $d) % 11) % 10;

            if ($cpf{$c} != $d) {
                return false;
            }
        }

        return true;
    }
}
// Verifica se o botão de validação foi acionado
if(isset($_POST['btvalidar']))
	{// Adiciona o numero enviado na variavel $cpf_enviado, poderia ser outro nome, e executa a função acima
	$cpf_enviado = validaCPF($_POST['cpf']);
	// Verifica a resposta da função e exibe na tela
	if($cpf_enviado == true)
		echo "CPF VERDADEIRO";
	elseif($cpf_enviado == false)
		echo "CPF FALSO";
	}
?>
<html>
<head>
</head>
<body>
<form action="valida_cpf.php" method="post" name="cpf" id="cpf">
  CPF: 
  <label>
  <input name="cpf" type="text" id="cpf" size="11" maxlength="11">
  </label>
  <label>
  <input name="btvalidar" type="submit" id="btvalidar" value="  Validar  ">
  </label>
</form>
</body>
</html>



ArquivoTipoTamanhoHits 
valida_cpf.phpArquivo PHP1,8 Kb813Baixar o Arquivo
Sim   Não   Este código foi útil para você?
NotaComentário
10
victords comentou em 11/6/2009

Otimo!

sempre quis ver se era valido ou não o cpf e nã sabia como
ajudou muito!
9
testset comentou em 6/5/2009

Ótimo código!

Incluí este JS:

function apenasNum(e){
var tecla=(window.event)?event.keyCode:e.which;
if (tecla > 47 && tecla < 58) return true;
else {
if (tecla != 8) return false;
else return true;
}
}

No imput:
onkeypress="return apenasNum(event)"
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.