<?php /* Valida��o de CPF, escrito por Michael */ class cnpj { /** * @var string $r O resultado da valida��o */ var $r; function __construct ($x){ $cnpj=ereg_replace ("[^0-9]","",$x); // Retiramos todos os caracteres que n�o sejam n�meros $cnpj=sprintf("%014s",$cnpj); // Preenche os campos vazios com zero, caso o cnpj da pessoa tenha menos de 14 digitos. $a=array (5,4,3,2,9,8,7,6,5,4,3,2); foreach ($a as $j=>$i) { $soma1+=$cnpj[$j]*$i; } $v1=($soma1%11<2?0:11-($soma1%11)); // Se o m�dolo da soma for menor que 2, resultamos no validador 1, caso contr�rio o validador 1 ser� o resto do pr�prio m�dulo por 11 $a=array (6,5,4,3,2,9,8,7,6,5,4,3); foreach ($a as $j=>$i) { $soma2+=$cnpj[$j]*$i; } $soma2+=$v1*2; $v2=($soma2%11<2?0:11-($soma2%11)); // Se o m�dolo da soma for menor que 2, resultamos no validador 1, caso contr�rio o validador 1 ser� o resto do pr�prio m�dulo por 11 $this->r=($v1.$v2==substr($cnpj,-2)?"OK":"O CNPJ n�o � v�lido"); if (strlen($cnpj)!=14) { // Verificando a quantidade de caracteres digitados no CNPJ $this->r="Digite TODOS os campos do CNPJ"; } } function getResult ($x='') { if ($x == 'AJAX'){ echo $this->r; } else { return $this->r; } } } ?>