Função para Formatar CPF/CNPJ
Uma simples função em PHP para formatar um CPF ou CNPJ. Tive a necessidade de implementa-la em um projeto que estou desenvolvendo e criei essa função… tá quentinha, acabou de sair do forno… aceito sugestões!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | function formatarCPF_CNPJ($campo, $formatado = true){ //retira formato $codigoLimpo = ereg_replace("[' '-./ t]",'',$campo); // pega o tamanho da string menos os digitos verificadores $tamanho = (strlen($codigoLimpo) -2); //verifica se o tamanho do código informado é válido if ($tamanho != 9 && $tamanho != 12){ return false; } if ($formatado){ // seleciona a máscara para cpf ou cnpj $mascara = ($tamanho == 9) ? '###.###.###-##' : '##.###.###/####-##'; $indice = -1; for ($i=0; $i < strlen($mascara); $i++) { if ($mascara[$i]=='#') $mascara[$i] = $codigoLimpo[++$indice]; } //retorna o campo formatado $retorno = $mascara; }else{ //se não quer formatado, retorna o campo limpo $retorno = $codigoLimpo; } return $retorno; } |
Basta chamar a função, informando como parâmetro o CNPJ / CPF e se deseja que retorne formatado, isso possibilita que você formate ou retire a formatação de um CNPJ / CPF.
1 2 3 4 5 | print formatarCPF_CNPJ("01001001000101",true); // retorna 01.001.001/0001-01 print formatarCPF_CNPJ("01.001.001/0001-01",false); // retorna 01001001000101 |

Gostei da função parabéns. Obrigado por compartilha-lá!
ME BJA NA BOCA?
Código espetacular.
Funciona 100%.
Obrigado
Gostei!
Eu ia criar uma função pra isso, mas googlei e achei exatamente o que precisava.
Parabéns e Obrigado. ;D
Muito boa esta função, prática e fácil de usar.
Parabéns.
Função muito útil, vou utilizar em uma class geral. Valeu Parabéns!
Não seria mais fácil assim:
$x = ’12345678911′;
$y = preg_replace(‘/([d]{3})([d]{3})([d]{3})/’,'$1.$2.$3-’,$x);
print_r($y);
[s]
Valeu cara, essas dicas sempre são de grande ajuda pra agilizar alguns esquemas que, pra fazer do zero, são cansativos e matam nosso tempo, que sempre é pouco. Agora o esquema é a gente montar uma biblioteca e soltar na net, rs rs
Parabéns.
Parabéns pelo excelente código e muito obrigado pela grande ajuda!
Junior
Muito mais facil o seu exemplo!!!
Os dois exemplos são muito bons, mas o do Junior é demais, muito bom, pra ficar ainda mais eficiente, usei essa linha $codigoLimpo = ereg_replace(“[^0-9]“, ”, $var) para deixar o codigo realmente limpo, pois deixa somente numeros.
Parabéns e obrigado.
Muito simples, prático e eficiente.
Show de bola.
Valeu por compartilhar o código do cnpj_cpf!!
Mas a Marcos Junior pega pra cnpj também
Me poupou tempo, muito tempo. Valeu pela mão nas quatro rodas!
Ficou muito massa. Me ajudou muito aqui.
obrigado.
PARABÉNS PELA FUNÇÃO. ÓTIMA.
Alguns CNPJs tem 15 números OK
Tanto o CPF como o CNPJ são padrões, ou seja, TODOS tem a mesma quantidade de números.
CNPJ com 15 números ? onde ? na CHINA ??
Valeu mesmo. Usei no PDF do vtiger.
Opa, ajudou bastente aqui. Criei uma view helper no Zend Framework, ficou belezinha! =D
Valeu!