Formatar CPF e CNPJ para formato user friendly
Publicado por Phylipe Venancio Soares (última atualização em 23/04/2021)
[ Hits: 23.252 ]
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ão 2 - Enviado por Pamela Maia em 22/04/2021
Changelog: Codigo simplificado, mas com a mesma funcionalidade
<?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 */ ?>
Converte para maiúsculas a primeira letra de cada palavra
Exemplo de recursividade: gerador de sequências de tamanho e soma dos elementos fixos
Descobrir qual SO o usuário que está acessando o seu site/software está utilizando
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (11)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)