Formatar CPF e CNPJ para formato user friendly
Publicado por Phylipe Venancio Soares (última atualização em 23/04/2021)
[ Hits: 23.676 ]
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
*/
?>
Crivo de Eratóstenes Simples em PHP
Converte uma string binaria em seu respectivo codigo ascii
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Conky não mostra temperaturas da CPU no notebook (1)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (0)









