Jump to Real's How-to Main page

Validate an email address

It's impossible to check if an address is REALLY valid but we can check for the presence of the "@" character.
<HTML><HEAD>
<SCRIPT>

function validate_email() {
    if(-1 == document.jsform.email.value.indexOf("@")) { 
       document.jsform.email.focus(); 
       alert("Your email must have a '@'."); 
       return false; 
       }
    if(-1 != document.jsform.email.value.indexOf(",")) { 
       document.jsform.email.focus(); 
       alert("Your email must not have a ',' in it"); 
       return false; 
       }
    if(-1 != document.jsform.email.value.indexOf("#")) { 
       document.jsform.email.focus(); 
       alert("Your email must not have an '#' in it." ); 
       return false; 
       }
    if(-1 != document.jsform.email.value.indexOf("!")) { 
       document.jsform.email.focus(); 
       alert("Your email must not have a '!' in it." ); 
       return false; 
       }
    if(-1 != document.jsform.email.value.indexOf(" ")) { 
       document.jsform.email.focus(); 
       alert("Your email must not have a space in it." ); 
       return false; 
       }
    if(document.jsform.email.value.length ==
         (document.jsform.email.value.indexOf("@")+1) ) {
       document.jsform.email.focus();
       alert("Your email must have a domain name after the '@'.");
       return false;
       }

    if(document.jsform.email.value.length == 0) { 
      document.jsform.email.focus(); 
      alert("Please enter your email."); 
      return false; 
      }

    return true;
  }
</SCRIPT><BODY>
Press ENTER to validate this email address
<FORM NAME="jsform" 
      ONSUBMIT="return validate_email()">
<INPUT NAME="email" 
       TYPE="text" 
       SIZE="50"> 
</FORM></BODY></HTML>

Alternate way using regular expression:

function checkemail(str){
  var filter=/^.+@.+\..{2,3}$/
  return (filter.test(str))
  }
While you can't validate that an email address is a real one, you can check if the domain name is real. You will find a tool to do that at this site.
If you find this article useful, consider making a small donation
to show your supportfor this Web site and its content.

Written and compiled by Réal Gagnon ©1998-2005
[ home ]