Formatar CPF e CNPJ para formato user friendly

Publicado por Phylipe Venancio Soares (última atualização em 23/04/2021)

[ Hits: 23.099 ]

Homepage: http://www.energiageradores.com

Download formata_cpf_cnpj.php.txt

Download formatar-cpf-cnpj (versão 2)




Função para formatar CPF e CNPJ.

Pode ser usado com ou sem pontuação.

Ela define se é cpf ou cnpj pela quantidade de caracteres.

  



Versões atualizadas deste script

Versão 2 - Enviado por Pamela Maia em 22/04/2021

Changelog: Codigo simplificado, mas com a mesma funcionalidade

Download formatar-cpf-cnpj


Esconder código-fonte

<?php
/*
   Por Phylipe Soares
   E-mail: phylipesoares@gmail.com
   Em: Março/ 2018
*/

function formata_cpf_cnpj($cpf_cnpj){
    /*
        Pega qualquer CPF e CNPJ e formata

        CPF: 000.000.000-00
        CNPJ: 00.000.000/0000-00
    */

    ## Retirando tudo que não for número.
    $cpf_cnpj = preg_replace("/[^0-9]/", "", $cpf_cnpj);
    $tipo_dado = NULL;
    if(strlen($cpf_cnpj)==11){
        $tipo_dado = "cpf";
    }
    if(strlen($cpf_cnpj)==14){
        $tipo_dado = "cnpj";
    }
    switch($tipo_dado){
        default:
            $cpf_cnpj_formatado = "Não foi possível definir tipo de dado";
        break;

        case "cpf":
            $bloco_1 = substr($cpf_cnpj,0,3);
            $bloco_2 = substr($cpf_cnpj,3,3);
            $bloco_3 = substr($cpf_cnpj,6,3);
            $dig_verificador = substr($cpf_cnpj,-2);
            $cpf_cnpj_formatado = $bloco_1.".".$bloco_2.".".$bloco_3."-".$dig_verificador;
        break;

        case "cnpj":
            $bloco_1 = substr($cpf_cnpj,0,2);
            $bloco_2 = substr($cpf_cnpj,2,3);
            $bloco_3 = substr($cpf_cnpj,5,3);
            $bloco_4 = substr($cpf_cnpj,8,4);
            $digito_verificador = substr($cpf_cnpj,-2);
            $cpf_cnpj_formatado = $bloco_1.".".$bloco_2.".".$bloco_3."/".$bloco_4."-".$digito_verificador;
        break;
    }
    return $cpf_cnpj_formatado;
}

## Como Usar.

$cpf = "12345678909";

echo "CPF Formatado: ".formata_cpf_cnpj($cpf);

/*
   Resultado:
   CPF Formatado: 123.456.789-09
*/

$cnpj = "11222333000181";

echo "CNPJ Formatado: ".formata_cpf_cnpj($cnpj);

/*
   Resultado:
   CNPJ Formatado: 11.222.333/0001-81
*/

?>

Scripts recomendados

Jogo do amor com logs

Converte uma string binaria em seu respectivo codigo ascii

Gerenciador de Escola de Informática

Fast Template CVS Revision 1.2.2

Remover String entre String


  

Comentários
[1] Comentário enviado por maurixnovatrento em 24/04/2021 - 11:38h


Bacana.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts