6 Years
Discussion Span
Last Post by shama.shirva

So there are a couple of ways to validate the format of an email address.

You could always to the simple look for the @ sign and make sure there is a dot (.) somewhere after the @ sign.

Or the kind of cool and groovy method of using Regular Expressions (RegEx).

Here's how you do it:
Add a textbox (Textbox1) and a button (Button1) to a form.

Switch to code view.

Add the imports statement

Imports System.Text.RegularExpressions

Then in your Button1_Click Event add the following code:

Dim strMessage As String = ""
        Dim regex As Regex = New Regex("([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\." + _
                                       ")|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})", _
                                       RegexOptions.IgnoreCase _
                                       Or RegexOptions.CultureInvariant _
                                       Or RegexOptions.IgnorePatternWhitespace _
                                       Or RegexOptions.Compiled _
        Dim IsMatch As Boolean = regex.IsMatch(TextBox1.Text)
        If IsMatch Then
            If TextBox1.Text.Equals(regex.Match(TextBox1.Text).ToString) Then
                strMessage = "Valid email address"
                strMessage = "There's an email address in there somewhere.  But not exactly"
            End If
            strMessage = "Sorry.  Invalid email address format."
        End If

By the way there is no good way to tell if an address actually exists (or is valid) until you get a response back from the server telling you it doesn't exists. Unless of course you're the system administrator of that particular email server.


As I have entered this code in my project
but with this when I click on the save button it shows me the

strMessage = "Sorry.  Invalid email address format."

but it also saves into my database
how can I prevent that?


First u have to validate all the conditions and if all the conditions are passed then save to database....


if emailvalidation =  false or other things like name and so on then 
    do this
    save to database
Private Sub TextBox5_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox5.Validating
    If Regex.Match(TextBox5.Text, "^[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]$").Success Then
        MsgBox("Valid Email", MsgBoxStyle.Information, Title:="HRMS")
        MsgBox("Invalid Email", MsgBoxStyle.Information, Title:="HRMS")
        TextBox5.Text = ""
    End If
End Sub
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.