Pular para o conteúdo

Verificar CPF/CNPJ em PHP

Dica publicada em PHP / Miscelânea
Rodrigo Leutz rleutz
Hits: 3.966 Categoria: PHP Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

Verificar CPF/CNPJ em PHP

Página que verifica se o CPF/CNPJ é válido.

Segue abaixo 2 arquivos para montar a página de verificação. Deixe os 2 arquivos na mesma pasta.

index.php



	
	Verificar CPF/CNPJ
	
	
	
		


Verificar CPF/CNPJ


check($_POST['cpf']); } ?>

class.cpf.php

Não é numero.";
			exit;
		}
		if(strlen($num)=='14'){
			return $this->checkCnpj($num);
		}
		else if(strlen($num)=='11'){
			return $this->checkCpf($num);
		}
		else{
			return "Quantidade de numeros inválida.";
		}
	}
	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 "CNPJ Verdadeiro";
				exit;
			}
			else{
				return "CNPJ Falso";
				exit;
			}
		}
		else{
			return "CNPJ Falso";
			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 "CPF Falso(numeros repetidos)";
			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 "CPF Verdadeiro";
				exit;
			}
			else{
				return "CPF Falso";
				exit;
			}
		}
		else{
			return "CPF Falso";
			exit;
		}
	}
}
?>

Simple Server Monitor Bot - Telegram + PHP

Som no Linux (recompilando kernel)

Tutorial GIT

rc.local na systemd - script de execução na inicialização do sistema

NTFS + Samba com o SELinux ativado

Framework Ágil usando PDO - Criando aplicativos amigáveis com facilidade

Laravel 5.4: erro ao rodar o comando migrate (Specified key was too long error) [Resolvido]

Encontrando dias em um intervalo de datas em PHP

Utilizando argumentos padrão em funções no PHP

Quebra de linha no PHP

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.