Validação de CPF e CNPJ
Publicado por Marcelo Bom Jardim 26/01/2005
[ Hits: 31.526 ]
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; } } ?>
Monitoramento de Temperatura do Servidor
Install PHP8, 8.2, 8.3 no Deepin 23
Gerador de Formulários com validações me PHP e JavaScript
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Problema no boot do Linux Mint Cinnamon 22 (4)
Atualização do Google Chrome do Ubuntu [RESOLVIDO] (2)
Instalei Windows 11 e não alterou o Grub do Debian (1)
Jogos baixados na Central de Aplicativos mas que não abrem (0)