Blog : Email Validation VB.Net
Email Validation VB.Net
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"
Else
strMessage = "There's an email address in there somewhere. But not exactly"
End If
Else
strMessage = "Sorry. Invalid email address format."
End If
MessageBox.Show(strMessage)
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....
Like
if emailvalidation = false or other things like name and so on then
do this
else
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")
Else
MsgBox("Invalid Email", MsgBoxStyle.Information, Title:="HRMS")
TextBox5.Text = ""
End If
End Sub