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