C and C++ Programming Resources

Share/Save/Bookmark
Custom Search

Validating the email address in ASP

Posted on October 29th, 2008

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

Tags:

Like What you See?

Become one of the regulars by subscribing! You'll be the first to know when we add more great posts just like this. Join up by either RSS Feeds or Email Updates today!

There are No Comments to this post. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response or TrackBack from your own site.


Leave a Reply

You must be logged in to post a comment.