Server Side E-Mail Validation   
 

The chkEmail function performs a thorough check of an entered email address. The following criteria is checked by chkEmail:
   • only one @ sign permitted
   • domain extension separator (.) must come after the @ symbol
   • must be at least 2 characters (letters) after the domain extension separator (.)
   • rejects all illegal characters including spaces.
   • Allows only numbers, letters, the underscore (_) and the dash (-) character as valid input
     (excluding the mandatory "@" and "." symbols).
   • Minimum of 5 characters

chkEmail returns True if an email address is validated successfully, otherwise False is returned. If an error is encountered when processing an email address, chkEmail returns False.

Syntax: boolean = chkEmail(mailaddress)

Example Usage:
<%
' chkEmail returns true
response.write chkemail("me@mysite.com")
response.write chkEmail("me_1@mysi_te.com")
response.write chkEmail("101@mysite.ca")
response.write chkEmail("ag_wd@e.jp")

' chkEmail returns false
response.write chkEmail("steve@@d.com")
response.write chkEmail("sd.john@ccc.com")
response.write chkEmail("me@mysite.123")
response.write chkEmail("me@mysitecom")
response.write chkEmail("memysite.com")
response.write chkEmail("me@m][ysite.com")
response.write chkEmail("me@mysit&e.com")
%>

<%
function chkEmail(theAddress)
  ' checks for a vaild email
   ' returns 1 for invalid addresses
   ' returns 0 for valid addresses
   dim atCnt
   chkEmail = 0

   ' chk length
   if len(mcstr(theAddress)) < 5  then
      ' a@b.c should be the shortest an
      ' address could be
      chkEmail = 1

   ' chk format
   ' has at least one "@"
   elseif instr(theAddress,"@") = 0 then
      chkEmail = 1

   ' has at least one "."
   elseif instr(theAddress,".") = 0 then
      chkEmail = 1

   ' has no more than 3 chars after last "."
   elseif len(theAddress) - instrrev(theAddress,".") > 3 then
      chkEmail = 1

   ' has no "_" after the "@"
   elseif instr(theAddress,"_") <> 0 and _
       instrrev(theAddress,"_") > instrrev(theAddress,"@")  then
      chkEmail = 1

   else
      ' has only one "@"
      atCnt = 0
      for i = 1 to len(theAddress)
         if mid(theAddress,i,1) = "@" then
            atCnt = atCnt + 1
         end if
      next

      if atCnt > 1 then
         chkEmail = 1
      end if

      ' chk each char for validity
      for i = 1 to len(theAddress)
        if not isnumeric(mid(theAddress,i,1)) and _
(lcase(mid(theAddress,i,1)) < "a" or _
lcase(mid(theAddress,i,1)) > "z") and _
mid(theAddress,i,1) <> "_" and _
mid(theAddress,i,1) <> "." and _
mid(theAddress,i,1) <> "@" and _
mid(theAddress,i,1) <> "-" then
            chkEmail = 1
        end if
      next
  end if
end function
%>



My3C's
perrychicker
It's easy... it's a PSACAKE!
Back | Tell A Friend | Search this Site
© 1998 - 2010 psacake.com
Version 3.23

Send me One Million FREE Guaranteed Visitors