Formatar CPF e CNPJ para formato user friendly

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

[ Hits: 22.703 ]

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

Transformar datas para gravar no banco de dados (MySQL, Postgres e outros)

Fractal

Hosting Control

Classe para gerar logs

Micro-script confirmar exclusão


  

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