Formatar CPF e CNPJ para formato user friendly
Publicado por Phylipe Venancio Soares (última atualização em 23/04/2021)
[ Hits: 23.044 ]
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 */ ?>
Classe para gerar calendário em PHP
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Como redefinir o diretório Home? (5)
Problemas com adaptadores wifi no Zorin (1)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (7)