Formatar CPF e CNPJ para formato user friendly
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.
Pode ser usado com ou sem pontuação.
Ela define se é cpf ou cnpj pela quantidade de caracteres.
Descrição
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.
Pode ser usado com ou sem pontuação.
Ela define se é cpf ou cnpj pela quantidade de caracteres.
Versões atualizadas deste script
<?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
*/
?>
Bacana.
___________________________________________________________