Verificar CPF/CNPJ em PHP
Publicado por Rodrigo Leutz em 08/03/2019
[ Hits: 3.603 ]
Blog: https://uware.com.br
<?php
/*
Autor: Rodrigo Leutz
Descrição: Verificar cpf/cnpj em php
*/
require "class.cpf.php";
?>
<html>
<head>
<title>Verificar CPF/CNPJ</title>
<meta charset="UTF-8">
</head>
<body>
<div id="container">
<center>
<br><br>
<h2>Verificar CPF/CNPJ</h2>
<br>
<form method="post">
<input type="text" name="cpf">
<input type="submit" value="Verificar">
</form>
<?php
if(isset($_POST['cpf'])&&!empty($_POST['cpf'])){
$cpf = new Cpf();
echo $cpf->check($_POST['cpf']);
}
?>
</center>
</div>
</body>
</html>
<?php
/*
Autor: Rodrigo Leutz
Descrição: Verificar cpf/cnpj em php
*/
class Cpf{
public function check($num){
$num = str_replace(".","",$num);
$num = str_replace("-","",$num);
$num = str_replace("/","",$num);
if(!is_numeric($num)){
return "<font color='red'>Não é numero.</font>";
exit;
}
if(strlen($num)=='14'){
return $this->checkCnpj($num);
}
else if(strlen($num)=='11'){
return $this->checkCpf($num);
}
else{
return "<font color='red'>Quantidade de numeros inválida.</font>";
}
}
private function checkCnpj($cnpj){
$sm1 = $cnpj[0]*5+$cnpj[1]*4+$cnpj[2]*3+$cnpj[3]*2+$cnpj[4]*9+$cnpj[5]*8+$cnpj[6]*7+$cnpj[7]*6+$cnpj[8]*5+$cnpj[9]*4+$cnpj[10]*3+$cnpj[11]*2;
$ve1=$sm1%11;
if($ve1<2){
$dv1=0;
}
else{
$dv1=11-$ve1;
}
if($dv1==$cnpj[12]){
$sm2 = $cnpj[0]*6+$cnpj[1]*5+$cnpj[2]*4+$cnpj[3]*3+$cnpj[4]*2+$cnpj[5]*9+$cnpj[6]*8+$cnpj[7]*7+$cnpj[8]*6+$cnpj[9]*5+$cnpj[10]*4+$cnpj[11]*3+$cnpj[12]*2;
$ve2=$sm2%11;
if($ve2<2){
$dv2=0;
}
else{
$dv2=11-$ve2;
}
if($dv2==$cnpj[13]){
return "<font color='green'>CNPJ Verdadeiro</font>";
exit;
}
else{
return "<font color='red'>CNPJ Falso</font>";
exit;
}
}
else{
return "<font color='red'>CNPJ Falso</font>";
exit;
}
}
private function checkCpf($cpf){
if($cpf[0]==$cpf[1]&&$cpf[1]==$cpf[2]&&$cpf[2]==$cpf[3]&&$cpf[3]==$cpf[4]&&$cpf[4]==$cpf[5]&&$cpf[5]==$cpf[6]&&$cpf[6]==$cpf[7]&&$cpf[7]==$cpf[8]&&$cpf[8]==$cpf[9]&&$cpf[9]==$cpf[10]){
return "<font color='red'>CPF Falso(numeros repetidos)</font>";
exit;
}
$v1 = $cpf[0]*10+$cpf[1]*9+$cpf[2]*8+$cpf[3]*7+$cpf[4]*6+$cpf[5]*5+$cpf[6]*4+$cpf[7]*3+$cpf[8]*2;
$ve1=$v1*10%11;
if($ve1==10){
$ve1=0;
}
if($ve1==$cpf[9]){
$v2 = $cpf[0]*11+$cpf[1]*10+$cpf[2]*9+$cpf[3]*8+$cpf[4]*7+$cpf[5]*6+$cpf[6]*5+$cpf[7]*4+$cpf[8]*3+$cpf[9]*2;
$ve2=$v2*10%11;
if($ve2==10){
$ve2=0;
}
if($ve2==$cpf[10]){
return "<font color='green'>CPF Verdadeiro</font>";
exit;
}
else{
return "<font color='red'>CPF Falso</font>";
exit;
}
}
else{
return "<font color='red'>CPF Falso</font>";
exit;
}
}
}
?>
NTFS + Samba com o SELinux ativado
Instalação do tigervnc com certificado SSL
Slackware 12 com ipw3945 + wpa-psk
Abrindo mais de um cliente Telegram
Função em PHP que mostra o número da semana no ano
Componente de backup para Joomla
Controle de acesso Web para framework CakePHP
Problemas com a tradução no Drupal (CMS)
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Problemas com Driver NVIDIA (3)
Linux é a solução para o fim do Windows10? (1)
Programa fora de escala na tela do pc (28)
converter algoritmo C++ em C? (1)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)









