Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

santind2

[Resolvido] Formatar CPF,CNPJ e Telefone

Recommended Posts

Boa tarde..

 

Queria saber como posso fazer para formatar um cnpj, cpf e telefone quando recebo eles do banco.

As minhas informações estão chegando assim.

Cpf 00000000000

Tenho que deixar ela assim: 000.000.000-80

E para o telefone a mesma coisa pois ele só vem assim: 00000000 e tenho que deixar dessa maneira 0000-0000.

Não sei como posso fazer isso utilizando o asp para fazer essa formatação.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei mais umas pesquisadas e comecei a fazer uma função para formatar o telefone, porém fica dando o seguinte erro

Erro de tempo de execução do Microsoft VBScript erro '800a01c2'

Número de argumentos incorreto ou atribuição de propriedade inválida: 'formatar_numero_telefone'

 

Segue a função que estou fazendo.

Function formatar_numero_telefone(digito)
   digito = replace(digito,"-","")
   if len(digito) <= 8 then
       digito = formatar_numero_telefone(digito, 8)
       digito = left(digito, 4) & "-" & Right(digito, 4)
   end if
   formatar_numero_telefone = digito
end function

 

Valeu!!

 

Então.. Consegui resolver e caso alguém precise do código estou passando.

'Funções para formatação do campo CPF retornado do banco de dados. 
Function formatar_documento_numero(txt_numero, digito)
   Do While Len(txt_numero) < digito
       txt_numero = "0" & txt_numero
   Loop
   formatar_documento_numero = txt_numero
End Function

function formatar_cnpj_cpf(texto)
texto = replace(texto, ".", "")
texto = replace(texto, "/", "")
texto = replace(texto, "-", "")
if len(texto) <= 11 then
	texto = formatar_documento_numero(texto, 11)
	texto = left(texto, 3) & "." & mid(texto, 4, 3) & "." & mid(texto, 7, 3) & "-" & right(texto, 2)
else
	texto = formatar_documento_numero(texto, 14)
	texto = left(texto, 2) & "." & mid(texto, 3, 3) & "." & mid(texto, 5, 3) & "/" & mid(texto, 9, 4) & "-" & right(texto, 2)
end if
formatar_cnpj_cpf = texto

end function

'Funções para formatação do campo telefone retornado do banco de dados. 
Function formatar_numero_telefone(numero)
   numero = replace(numero,"-","")
   if len(numero) <= 8 then
       numero = left(numero, 4) & "-" & Right(numero, 4)
   end if
   formatar_numero_telefone = numero
end function

 

Valeu!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você também pode usar regular expression para isso:

 

'-----------------------------------------------------
Function IsCPF(ByVal intNumero)
   'Validando o formato do CPF com expressão regular
   Set regEx = New RegExp                            'Cria o Objeto Expressão
   regEx.Pattern = "^(\d{3}\.\d{3}\.\d{3}-\d{2})|(\d{11})$"    ' Expressão Regular
   regEx.IgnoreCase = True                            ' Sensitivo ou não
   regEx.Global = True
   Retorno = RegEx.Test(intNumero)
   Set regEx = Nothing

   'Caso seja verdadeiro posso validar se o CPF é válido
   If Retorno = True Then
       'Validando a sequencia números
       Dim CPF_temp
       CPF_temp            = intNumero
       CPF_temp            = Replace(CPF_temp, ".", "")
       CPF_temp            = Replace(CPF_temp, "-", "")
       CPF_Digito_temp        = Right(CPF_temp, 2)

       'Somando os nove primeiros digitos do CPF
       Soma    = (Clng(Mid(CPF_temp,1,1)) * 10) + (Clng(Mid(CPF_temp,2,1)) * 9) + (Clng(Mid(CPF_temp,3,1)) * 8) + (Clng(Mid(CPF_temp,4,1)) * 7) + (Clng(Mid(CPF_temp,5,1)) * 6) + (Clng(Mid(CPF_temp,6,1)) * 5) + (Clng(Mid(CPF_temp,7,1)) * 4) + (Clng(Mid(CPF_temp,8,1)) * 3) + (Clng(Mid(CPF_temp,9,1)) * 2)
       '----------------------------------
       'Calculando o 1º dígito verificador
       '----------------------------------
       'Pegando o resto da divisão por 11
       Resto    = (Soma Mod 11)

       If Resto = 1 Or Resto = 0 Then
           DigitoHum = 0
       Else
           DigitoHum = Cstr(11-Resto)
       End If
       '----------------------------------
       '----------------------------------
       'Calculando o 2º dígito verificador
       '----------------------------------
       'Somando os 9 primeiros digitos do CPF mais o 1º dígito
       Soma    = (Clng(Mid(CPF_temp,1,1)) * 11) + (Clng(Mid(CPF_temp,2,1)) * 10) + (Clng(Mid(CPF_temp,3,1)) * 9) + (Clng(Mid(CPF_temp,4,1)) * 8) + (Clng(Mid(CPF_temp,5,1)) * 7) + (Clng(Mid(CPF_temp,6,1)) * 6) + (Clng(Mid(CPF_temp,7,1)) * 5) + (Clng(Mid(CPF_temp,8,1)) * 4) + (Clng(Mid(CPF_temp,9,1)) * 3) + (DigitoHum * 2)
       'Pegando o resto da divisão por 11
       Resto    = (Soma Mod 11)

       If Resto = 1 Or Resto = 0 Then
           DigitoDois = 0
       Else
           DigitoDois = Cstr(11-Resto)
       End If
       '----------------------------------
       'Verificando se os digitos são iguais aos digítados.
       DigitoCPF = Cstr(DigitoHum) & Cstr(DigitoDois)
       If Cstr(CPF_Digito_temp) = Cstr(DigitoCPF) Then
           Retorno = True
       Else
           Retorno = False
       End If
   End If
   IsCPF = Retorno
End Function
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.