Submit Resources  Users' Login
img

E-mail Validation with PHP
Home » Tutorials » Php »



Author: David Duke
Added: August 30, 2006

This tutorial will show you how to check to see if an E-mail address is valid.
 
 
When you register on at a website, the site normally checks if the e-mail address that you enter is in a valid format. This is done by using what called a Regular Expression. What we need to do is check if a string (eg $email) matches the regular expression:
ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email);
At the moment that only checks the string ($email), but does not does not output anything.So next we need to write an IF statement that returns a boolean value, if the string does not match the regular expressions.
if (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email)) 
{
   return FALSE;
}
That is the basic validation bit, but now we can do even more validation. What we will do next is check the domain name after the @ is a real domain name. (We do this by checking if an MX record exists for that domain name and then we check if port 25 is open for that domain name, which makes sure that the domain name is in use.)
list($Username, $Domain) = split("@",$email);
if(getmxrr($Domain, $MXHost)) 
{
   return TRUE;
}
else 
{
   if(fsockopen($Domain, 25, $errno, $errstr, 30)) 
   {
      return TRUE; 
   }
   else 
   {
      return FALSE; 
   }
}
Now to finish it all off we put those last two pieces of code togther in a function, so we can re-use again and again. If you are not understanding the code, ignore everything we said above and copy-paste this code on the top of your PHP code.
function checkEmail($email) 
{
   if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email)) 
   {
      return FALSE;
   }

   list($Username, $Domain) = split("@",$email);

   if(getmxrr($Domain, $MXHost)) 
   {
      return TRUE;
   }
   else 
   {
      if(fsockopen($Domain, 25, $errno, $errstr, 30)) 
      {
         return TRUE; 
      }
      else 
      {
         return FALSE; 
      }
   }
}
Now all thats needed is that we call the function and check the boolean output. For beginners, whenever you want to check an e-mail, just call this function:
if(checkEmail(johndoe@example.com) == FALSE) 
{
   echo "E-mail entered is not valid.";
} 
else 
{
   echo "E-mail entered is valid.";
}
And your done! P.S. you can replaced 'johndoe@example.com' with a variable or any e-mail address you'd like.

Trusted Websites
Vigilar Network Security Servi...
EndPointScan - Online scanner ...
Windows Key Software ...


 
                                                                                   -- Site Pro News      ComputerScripts.com - Free & Commercial Web Scripts!      Ex-design.net