Validação de CPF usando PHP
Publicado por Jonas Resenes 16/09/2004
[ Hits: 11.160 ]
Script feito em PHP para validar CPFs, muito util para sites que trabalham com cadastros.
<?
//VERIFICA SE O FORMULÁRIO FOI ENVIADO
if($_POST["verOK"]) {
//RECEBE OS DADOS DO FORMULÁRIO
$cpf = $_POST["cpf"];
//VERIFICA SE O QUE FOI INFORMADO É NÚMERO
if(!is_numeric($cpf)) {
$status = false;
}
else {
//VERIFICA
if( ($cpf == '11111111111') || ($cpf == '22222222222') ||
($cpf == '33333333333') || ($cpf == '44444444444') ||
($cpf == '55555555555') || ($cpf == '66666666666') ||
($cpf == '77777777777') || ($cpf == '88888888888') ||
($cpf == '99999999999') || ($cpf == '00000000000') ) {
$status = false;
}
else {
//PEGA O DIGITO VERIFIACADOR
$dv_informado = substr($cpf, 9,2);
for($i=0; $i<=8; $i++) {
$digito[$i] = substr($cpf, $i,1);
}
//CALCULA O VALOR DO 10º DIGITO DE VERIFICAÇÂO
$posicao = 10;
$soma = 0;
for($i=0; $i<=8; $i++) {
$soma = $soma + $digito[$i] * $posicao;
$posicao = $posicao - 1;
}
$digito[9] = $soma % 11;
if($digito[9] < 2) {
$digito[9] = 0;
}
else {
$digito[9] = 11 - $digito[9];
}
//CALCULA O VALOR DO 11º DIGITO DE VERIFICAÇÃO
$posicao = 11;
$soma = 0;
for ($i=0; $i<=9; $i++) {
$soma = $soma + $digito[$i] * $posicao;
$posicao = $posicao - 1;
}
$digito[10] = $soma % 11;
if ($digito[10] < 2) {
$digito[10] = 0;
}
else {
$digito[10] = 11 - $digito[10];
}
//VERIFICA SE O DV CALCULADO É IGUAL AO INFORMADO
$dv = $digito[9] * 10 + $digito[10];
if ($dv != $dv_informado) {
$status = false;
}
else
$status = true;
}//FECHA ELSE
}//FECHA ELSE(is_numeric)
}//FECHA IF($_POST)
?>
<html>
<head>
<title>::.. 79º artigo PHP - iMasters</title>
</head>
<body bgcolor="#FFFFFF">
<h2>79º artigo PHP - iMasters</h2>
<form name="frm_cpf" action="<? echo $_SERVER["PHP_SELF"];?>" method="post">
CPF: <input type="text" name="cpf" maxlength="11">
<input type="submit" value="Validar CPF" name="btnValidar">
<input type="hidden" name="verOK" value="1">
</form>
<?
//VERIFICA O RESULTADO
if($_POST["verOK"]) {
echo "<br><font face='Arial' size='2' color='#FF0000'><b>Resultado:</b></font><br><br>";
if($status)
echo "<b>O CPF $cpf é VERDADEIRO</b>";
else
echo "<b>O CPF $cpf é INVÁLIDO</b>";
}//FECHA IF
?>
</body>
</html>
Automatizando tradução i18n do seu codigo
Biblioteca de classes para facilitar a criação de formulários e conexão ao MySQL
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









