Formatar CPF e CNPJ para formato user friendly
Publicado por Phylipe Venancio Soares (última atualização em 23/04/2021)
[ Hits: 23.642 ]
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
*/
?>
Função para remover acentuação de uma string
Script para noticias no formato rss
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Opções secretas em tema do Cinnamon
Como mapear unidade de rede no Linux
Como quebrar senha usando john the ripper
Alguém já testou o novo COSMIC Desktop? O que achou? (5)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (2)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (2)









