Função para Formatar CEP, CPF, CNPJ e TELEFONE


Pessoal estou atualiando o Post, graças a correção do Fernando Serejo, e aos pedidos do pessoal para possuir formatação para o novo padrão de 9 digitos.
Muito obrigado Fernando pela ajuda.( 05/12/2016 )

Hi Folks, ultimamente trabalhando pacas, mas vamos la fiz uma função simples só para deixar com a galera aqui, uma func para formatar CPF, CNPJ, CEP e Telefone..

UHUUUUUUUUUUUUUUUUULLLLLLLLLLLLLL

Vamos la galera ela é bem simples....



 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
/**
 * Função para formatar Telefone, CEP, CPF, CNPJ e RG
 *
 * Escolher tipo de formatação ( fone, cep, cpf, cnpj ou rg) 
 * Lembrar de colocar em lowercase
 * @param $tipo  string
 *   
 * Enviar string que para ser formata ex: 13974208014;
 * @param $string  string   
 *
 * Quantidade de caracteres a serem formatados, 
 * só serve para o telefone 10 para o padrão antigo e 11 para novo padrão com 9
 * @param $size  integer  
 *
 *
 * Valor formatado do padrão escolhido
 * @return $string  string   
 */
function formatar ($tipo = "", $string, $size = 10)
{
    $string = ereg_replace("[^0-9]", "", $string);
    
    switch ($tipo)
    {
        case 'fone':
            if($size === 10){
             $string = '(' . substr($tipo, 0, 2) . ') ' . substr($tipo, 2, 4) 
             . '-' . substr($tipo, 6);
         }else
         if($size === 11){
             $string = '(' . substr($tipo, 0, 2) . ') ' . substr($tipo, 2, 5) 
             . '-' . substr($tipo, 7);
         }
         break;
        case 'cep':
            $string = substr($string, 0, 5) . '-' . substr($string, 5, 3);
         break;
        case 'cpf':
            $string = substr($string, 0, 3) . '.' . substr($string, 3, 3) . 
                '.' . substr($string, 6, 3) . '-' . substr($string, 9, 2);
         break;
        case 'cnpj':
            $string = substr($string, 0, 2) . '.' . substr($string, 2, 3) . 
                '.' . substr($string, 5, 3) . '/' . 
                substr($string, 8, 4) . '-' . substr($string, 12, 2);
         break;
        case 'rg':
            $string = substr($string, 0, 2) . '.' . substr($string, 2, 3) . 
                '.' . substr($string, 5, 3);
         break;
        default:
         $string = 'É ncessário definir um tipo(fone, cep, cpg, cnpj, rg)'
         break;
    }
    return $string;
}
Pouts eu acho que este foi o meu menor post e mais objetivo, realmente a falta de tempo muda as pessoas. Valew galera e ate a próxima =D...



Comentários

  1. Muito show sua função mas, pra que o número de telefone fosse formatado corretamente, teria que incluir o ddd.

    ResponderExcluir
    Respostas
    1. Opa Vicent, tudo bem?
      Esta função eu fiz a MTTTTT tempo rrsrsrs.
      Ainda não contemplei os novos numeros com 9 digitos rsrs.
      Vou arranjar um tempo e atualizo o post, ou se vc quiser fique a vontade para corrigir, eu te dou os créditos =]

      Abraços

      Excluir

    2. $code = substr($tipo, 0, 2);
      $ddd = substr($tipo, 2, 2);
      $nove = substr($tipo, 4, 1);
      $numeroIN = substr($tipo, 5, 4);
      $numeroFI = substr($tipo, 9);
      //+55 (55) 5 5555-5555
      $fone = '+'.$code.' ('.$ddd. ') '.$nove.' '.$numeroIN.'-'.$numeroFI;

      Excluir
  2. Boa noite, pesquisando na net encontrei seu site, então reaproveitei seu código para o que eu queria, e atualizei para até 9 dígitos, a máscara de telefone!

    function formatar($tipo)
    {
    switch ($tipo){
    case strlen($tipo) < 11 :
    $tipo = '(' . substr($tipo, 0, 2) . ') ' . substr($tipo, 2, 4) . '-' . substr($tipo, 6);
    break;
    case strlen($tipo) > 10 :
    $tipo = '(' . substr($tipo, 0, 2) . ') ' . substr($tipo, 2, 5) . '-' . substr($tipo, 7);
    break;
    }
    return $tipo;
    }

    ResponderExcluir
    Respostas
    1. Muito obrigado pela correção Fernando, utilizei o que você fez e coloqueia dedicatória.
      Abraços e Keep Coding!

      Excluir

Postar um comentário

Postagens mais visitadas deste blog

Sem som no Ubuntu. Resolvido!

Definir / Midificar / Resetar senha root no MySQL