Formatar CPF e CNPJ para formato user friendly
Publicado por Phylipe Venancio Soares (última atualização em 23/04/2021)
[ Hits: 23.217 ]
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, resolvendo o problema de acentos
Função para remover acentuação de uma string
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)