ASP NET - Funções de String
Nota : Em operações pesadas com strings utilizar a classe StringBuilder para realizar as operações.
Formatar Telefone
Embora os browser novos tenha um input type telephone este tipo nem sempre é condizente com a realidade
do país. Esta função admite telefones com 8 dígitos, 9 dígitos(celular), com ou sem DDD,
com ou sem prefixo de pais.
Public Class _String
Inherits System.Web.UI.Page
''' <summary>
''' fmt padrão do número do celular : 2 digitos=pais, 2 digitos=estado
''' </summary>
''' <param name="tel"></param>
''' <returns></returns>
Function Formatar_telefone(tel As String)
Dim pais, ddd, pre, suf As String
If Len(tel) = 8 Then 'tel fixo
pre = Mid(tel, 1, 4)
suf = Mid(tel, 5, 4)
Return pre + "-" + suf
End If
If Len(tel) = 9 Then 'celular
pre = Mid(tel, 1, 5)
suf = Mid(tel, 5, 4)
Return pre + "-" + suf
End If
If Len(tel) = 10 Then 'DDD + tel fixo
ddd = Mid(tel, 1, 2)
pre = Mid(tel, 3, 4)
suf = Mid(tel, 7, 4)
Return "(" + ddd + ")" + pre + "-" + suf
End If
If Len(tel) = 11 Then 'DDD + tel cel
ddd = Mid(tel, 1, 2)
pre = Mid(tel, 3, 5)
suf = Mid(tel, 8, 4)
Return "(" + ddd + ")" + pre + "-" + suf
End If
If Len(tel) = 12 Then 'Pais+DDD + tel fixo
pais = Mid(tel, 1, 2)
ddd = Mid(tel, 3, 2)
pre = Mid(tel, 5, 4)
suf = Mid(tel, 9, 4)
Return "(" + pais + ddd + ")" + pre + "-" + suf
End If
If Len(tel) = 13 Then 'DDD + tel cel
pais = Mid(tel, 1, 2)
ddd = Mid(tel, 3, 2)
pre = Mid(tel, 5, 5)
suf = Mid(tel, 10, 4)
Return "(" + pais + ddd + ")" + pre + "-" + suf
End If
Return "ERRO NO FORMATO DO NUMERO DO TELEFONE"
End Function
Limpa acentos
Esta função remove a acentuação de caracteres portugueses que muitas vezes são perdidas por páginas
que não possuem a codificação UTF-8.
Function limpaAcento(str)
'Função responsável por montar URLs amigáveis, retirando acentuação e substituindo espaços
Dim strComAcento As String
Dim strSemAcento As String
Dim strResultado As String
Dim strLetra As String
Dim strPos_Acento As String
Dim x As Integer
strComAcento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ"
strSemAcento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN" 'O que estiver na mesma posicao da esquerda para direita troca, se nao houver equivalente remove
strResultado = "" 'Starta variavel
If str <> "" Then
For x = 1 To Len(str)
strLetra = Mid(str, x, 1)
strPos_Acento = InStr(strComAcento, strLetra) 'InStr - Devolve a posição da primeira ocorrência de uma string dentro de outra.
If strPos_Acento > 0 Then strLetra = Mid(strSemAcento, strPos_Acento, 1)
strResultado = strResultado & strLetra
Next
Return strResultado 'Tira os espaços e troca os intermediários por hifen
End If
Return ""
End Function