Visual Basic em Português

Página pessoal de Jorge Paulino sobre o Visual Basic (VB.NET, ASP.NET, VB6, VBA) e algumas noticias de tecnologia

VB.NET: Validar e-mails usando o Regex

Quando criamos fichas pessoais ou empresariais, o e-mail é hoje em dia, um campo obrigatório. No entanto existem formas simples de validar todos os campos, quer sejam eles numéricos, datas, números, etc, mas para o e-mail não existe nada específico.

Uma das formas de validar o e-mail é recorrer às expressões regulares de modo a verificar se a string inserida cumpre os requisitos necessários de um e-mail. É claro que existem outras formas de o fazer!

As expressões regulares ou regular expressions (regex) são mascaras especiais que validam num texto uma ou mais condições. Por exemplo todos conhecemos a expressão *.exe que nos indica todos os ficheiros com a extensão EXE (executáveis). Existem diversas máscaras para diversos objectivos e para quem não conhece e que saber mais sobre o regex pode-se ler mais em Regular Expression Library ou Regular-Expressions Info

Para a validação do e-mail vamos usar a seguinte função:

Imports System.Text.RegularExpressions
''' <summary>
''' Verifica se o e-mail é válido
''' </summary>
''' <param name="emailAddress">Endereço de e-mail</param>

Function EmailAddressCheck(ByVal emailAddress As String) As Boolean

    ' Pattern ou mascara de verificação
    Dim pattern As String = "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"

    ' Verifica se o email corresponde a pattern/mascara
    Dim emailAddressMatch As Match = Regex.Match(emailAddress, pattern)

    ' Caso corresponda
    If emailAddressMatch.Success Then
        Return True
    Else
        Return False
    End If

End Function



' Botão que irá verificar se o e-mail inserido é válido
Private Sub btnCheck_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCheck.Click
    Debug.Print(EmailAddressCheck("omeu.email@servidor.com"))
End Sub


PS: Como sempre, qualquer dúvida, comentário ou correcção ao artigo é sempre bem vinda!

2 comentários:

António disse...

Interessante. Eu só conhecia as MaskedTextbox.

João Pinto disse...

É uma função bastante útil!

Mensagens Recentes



Microsoft Office Especialist

Membro da Comunidade
Experts-Exchange


Administ. da Comunidade
Portugal-a-Programar



Twitter

Artigos no CodeProject

Artigos no CodeProject

Subscrever Novidades

Endereço de Email:

Delivered by FeedBurner

Seguidores

Histórico