function  formatCnpjCpf ($ value$ CPF_LENGTH 11 ;
  $ cnpj_cpfpreg_replace ("/\D/ " , '' , $ valueif  (strlen ($ cnpj_cpf$ CPF_LENGTH return  preg_replace ("/(\d{3})(\d{3})(\d{3})(\d{2})/ " , "\$1. \$2. \$3- \$4 " , $ cnpj_cpfreturn  preg_replace ("/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/ " , "\$1. \$2. \$3/ \$4- \$5 " , $ cnpj_cpffunction  formatCnpjCpf ( value )  { 
  const  CPF_LENGTH  =  11 ; 
  const  cnpjCpf  =  value . replace ( / \D / g,  '' ) ; 
  
  if  ( cnpjCpf . length  ===  CPF_LENGTH )  { 
    return  cnpjCpf . replace ( / ( \d { 3 } ) ( \d { 3 } ) ( \d { 3 } ) ( \d { 2 } ) / g,  "\$1.\$2.\$3-\$4" ) ; 
  }  
  
  return  cnpjCpf . replace ( / ( \d { 2 } ) ( \d { 3 } ) ( \d { 3 } ) ( \d { 4 } ) ( \d { 2 } ) / g,  "\$1.\$2.\$3/\$4-\$5" ) ; 
} Oracle PL/SQL (by @claudioacioli) create  function  formatCnpjCpf (value varchar2 ) return varchar2 
is
  cnpj_cpf varchar2 (14 ) :=  regexp_replace(value, ' (\D )' ' ' begin 
  if length(cnpj_cpf) =  11  then
    return regexp_replace(cnpj_cpf, ' (\d {3})(\d {3})(\d {3})(\d {2})' ' \1 .\2 .\3 -\4 ' 14 , ' 0' ' (\d {2})(\d {3})(\d {3})(\d {4})(\d {2})' ' \1 .\2 .\3 /\4 -\5 '  
  
Muito obrigado! \o/