Verificar CPF/CNPJ em PHP
Publicado por Rodrigo Leutz em 08/03/2019
[ Hits: 3.649 ]
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;
}
}
}
?>
Instalação do tigervnc com certificado SSL
Abrindo mais de um cliente Telegram
Som no Linux (recompilando kernel)
Slackware 12 com ipw3945 + wpa-psk
rc.local na systemd - script de execução na inicialização do sistema
Joomla 3.6.x - Resolvendo problema com instalação de extensões
Testes Unitários - Um olhar para a qualidade de nossos testes
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Estou tentando ser legalista, mas tá complicado! (8)
Thinkpads são bons mesmo ?! (0)
Queda no serviços da Cloudflare, alguns sites estão fora do ar. (1)









