Validando CPNJ

<?php
$cnpj = '47.213.669/0001-25';
#$cnpj = '47213669000125';
preg_match('/([0-9]{2}).?([0-9]{3}).?([0-9]{3})\/?([0-9]{4})-?([0-9]{2})/',$cnpj,$resultado);

if($resultado !== false){
    $fator1=5;
    $fator2=6;
    $fator3=$fator4=9;
    $soma1=$soma2=0;

    for($i=1;$i<5;$i++){
            $aux = str_split($resultado[$i]);
            
            foreach($aux as $a){
                    if($fator1>=2){
                            $soma1=$soma1+($fator1*$a);
                            $fator1--;
                    }else{
                            $soma1=$soma1+($fator3*$a);
                            $fator3--;
                    }
                     
                     if($fator2>=2){
                            $soma2=$soma2+($fator2*$a);
                            $fator2--;                                
                    }else{                                
                            $soma2=$soma2+($fator4*$a);                                
                            $fator4--;
                    }
            }
    }

    $digito1=(($soma1%11)>3) ? (11-($soma1%11)) : 0;

    $soma2=$soma2+($digito1*2);
    $digito2=(($soma2%11)>2) ? (11-($soma2%11)) : 0;

    echo (($digito1==$resultado[5][0]) and ($digito2==$resultado[5][1])) ? 'O CNPJ '.$cnpj.' é válido!' : 'O CNPJ '.$cnpj.' é inválido!';
}
?>

Fonte
iMasters – Thiago Prado

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s