Validação de CPF usando PHP
Publicado por Jonas Resenes 16/09/2004
[ Hits: 11.257 ]
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>
Consulta Amazon! Buscas na Web
Menu restrito com permissões de navegação
Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Ajudante para criar dicas e artigos no VOL (29)
Hardware (corpo), Software (mente) e Kernel (conexão) (0)
Tentando fazer um "linux ricing" mas falhando miseravelmente... (3)









