The IsValidEmail function checks for a valid email, IsValidEmail returns True if the email address is a valid email, IsValidEmail returns false if the email address isn’t proper syntax. The code is well commented and should explain what is happening .

This code checks for @ and a . period sign as well as only acceptable characters. i.e. if a user have entered # or $ sign in his/her email address then this function will return false.

'*******************************************************
'*     MYCPLUS Sample Code - http://www.mycplus.com     *
'*                                                     *
'*   This code is made available as a service to our   *
'*      visitors and is provided strictly for the      *
'*               purpose of illustration.              *
'*                                                     *
'* Please direct all inquiries to saqib at mycplus.com *
'*******************************************************

Function IsValidEmail(emailAddress)
'Declare variables
Dim ValidEmail, emailParts, iLoopCounter, emailChar, acceptableChars
	ValidEmail = True 'set the default result to True
	'acceptableChars are the characters that we will allow in our email
	acceptableChars="abcdefghijklmnopqrstuvwxyz.-_@"
	'use the Split function to create an array with the @ as the separator
	'so if your email was test@tester.com the email would be split into an array
	'with the first array element holding "test" and the second "tester.com"
	emailParts = Split(emailAddress, "@")
	'check to make sure that there is only 1 @ and that there are 2 parts
	'remember arrays are zero based
	'Using the UBound function will return the highest element in the array
	'So if it's a valid email the UBound function will return 1, i.e. 0 start
	If UBound(emailParts) <> 1 Then
		ValidEmail = false
	Else
		'Check the length of each part of the email address
		'first part can be just one character, 2nd part must be atleast 4
		If Len(emailParts(0))<1 OR Len(emailParts(1))<4 Then
			ValidEmail = false
		End If
		'check first character on the left part isn't a "." using Left function
		If Left(emailParts(0), 1)="." Then
			ValidEmail = false
		End If
		'check the last & 2nd character from right part using Right function
		If Right(emailParts(1), 1) = "." OR Right(emailParts(1), 2) = "." Then
			ValidEmail = false
		End If
		'check that there is a . in the second part of the email address - .com
		If InStr(emailParts(1), ".") <= 0 Then
			ValidEmail = false
		End If
		'check that there shouldn't be a _ in the second part of the email address
		If InStr(emailParts(1), "_") >0 Then
			ValidEmail = false
		End If
	End If
		'loop through each character of email
	For iLoopCounter = 1 to Len(emailAddress)
	'Use Lcase & Mid functions, Mid function used to return each individual character
	'in the email, and then Lcase converts it into lowercase
	emailChar = Lcase(Mid(emailAddress, iLoopCounter, 1))
	'Check if the emailAddress characters are acceptable
		If InStr(acceptableChars, emailChar) = 0 and Not IsNumeric(emailChar) Then
			ValidEmail = false
		End if
	Next
	'check if there is 2 . in a row
	If InStr(emailAddress, "..") > 0 Then
		ValidEmail=false
	End If
	'check if there is @. in a row
	If InStr(emailAddress, "@.") > 0 Then
		ValidEmail=false
	End If
	IsValidEmail=ValidEmail
End function