Validação de CPF e CNPJ
Publicado por Marcelo Bom Jardim 26/01/2005
[ Hits: 31.888 ]
Este script tem a função de validar tanto CPF quanto CNPJ
<?
//Desenvolvedor: Marcelo Bom Jardim
//Email: suporte@onzehost.net
//Site: www.onzehost.net
?>
<?
// VERIFICA CPF
function validaCPF($cpf) {
$soma = 0;
if (strlen($cpf) <> 11)
return false;
// Verifica 1º digito
for ($i = 0; $i < 9; $i++) {
$soma += (($i+1) * $cpf[$i]);
}
$d1 = ($soma % 11);
if ($d1 == 10) {
$d1 = 0;
}
$soma = 0;
// Verifica 2º digito
for ($i = 9, $j = 0; $i > 0; $i--, $j++) {
$soma += ($i * $cpf[$j]);
}
$d2 = ($soma % 11);
if ($d2 == 10) {
$d2 = 0;
}
if ($d1 == $cpf[9] && $d2 == $cpf[10]) {
return true;
}
else {
return false;
}
}
// VERFICA CNPJ
function validaCNPJ($cnpj) {
if (strlen($cnpj) <> 14)
return false;
$soma = 0;
$soma += ($cnpj[0] * 5);
$soma += ($cnpj[1] * 4);
$soma += ($cnpj[2] * 3);
$soma += ($cnpj[3] * 2);
$soma += ($cnpj[4] * 9);
$soma += ($cnpj[5] * 8);
$soma += ($cnpj[6] * 7);
$soma += ($cnpj[7] * 6);
$soma += ($cnpj[8] * 5);
$soma += ($cnpj[9] * 4);
$soma += ($cnpj[10] * 3);
$soma += ($cnpj[11] * 2);
$d1 = $soma % 11;
$d1 = $d1 < 2 ? 0 : 11 - $d1;
$soma = 0;
$soma += ($cnpj[0] * 6);
$soma += ($cnpj[1] * 5);
$soma += ($cnpj[2] * 4);
$soma += ($cnpj[3] * 3);
$soma += ($cnpj[4] * 2);
$soma += ($cnpj[5] * 9);
$soma += ($cnpj[6] * 8);
$soma += ($cnpj[7] * 7);
$soma += ($cnpj[8] * 6);
$soma += ($cnpj[9] * 5);
$soma += ($cnpj[10] * 4);
$soma += ($cnpj[11] * 3);
$soma += ($cnpj[12] * 2);
$d2 = $soma % 11;
$d2 = $d2 < 2 ? 0 : 11 - $d2;
if ($cnpj[12] == $d1 && $cnpj[13] == $d2) {
return true;
}
else {
return false;
}
}
?>
Backup de arquivos na Cloud com AWS Amazon S3 e PHP
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Abrir um arquivo URL pelo Clipper (4)
Eu aprendi o segredo das artes! hahaha (0)
Instalação Dual Boot Linux+Windows 11 [RESOLVIDO] (5)









