JAVA Script email validation


DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 2 of 2

Thread: JAVA Script email validation

  1. #1
    Join Date
    Jun 2004
    Posts
    1

    JAVA Script email validation

    Hi guys,
    With this script I want only accept the .NL and .TK country codes. Other country codes are not allowed and that works fine with this script...
    BUT I also wants to bann some domain names like Hotmail, MSN etc...
    See:
    =======================================
    /* The following is the list of banned domains */
    var bannedDomsPat=/^(hotmail|icq|yahoo|freemail|msn)$/;
    =======================================

    Can someone help me to fix this into this script, plz???


    <SCRIPT LANGUAGE="JavaScript">


    <!-- Changes:
    /* 1.1.4: Fixed a bug where upper ASCII characters (i.e. accented letters
    international characters) were allowed.
    // -->
    <!-- Begin
    function emailCheck (emailStr) {
    /* The following variable tells the rest of the function whether or not
    to verify that the address ends in a two-letter country or well-known
    TLD. 1 means check it, 0 means don't. */
    var checkTLD=1;
    /* The following is the list of known TLDs that an e-mail address must end with. */
    var knownDomsPat=/^(tk|nl)$/;
    /* The following is the list of banned domains */
    var bannedDomsPat=/^(hotmail|icq|yahoo|freemail|msn)$/;
    /* The following pattern is used to check if the entered e-mail address
    fits the user@domain format. It also is used to separate the username
    from the domain. */
    var emailPat=/^(.+)@(.+)$/;
    /* The following string represents the pattern for matching all special
    characters. We don't want to allow special characters in the address.
    These characters include ( ) < > @ , ; : \ " . [ ] */
    var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
    /* The following string represents the range of characters allowed in a
    username or domainname. It really states which chars aren't allowed.*/
    var validChars="\[^\\s" + specialChars + "\]";
    /* The following pattern applies if the "user" is a quoted string (in
    which case, there are no rules about which characters are allowed
    and which aren't; anything goes). E.g. "jiminy cricket"@disney.com
    is a legal e-mail address. */
    var quotedUser="(\"[^\"]*\")";
    /* The following pattern applies for domains that are IP addresses,
    rather than symbolic names. E.g. joe@[123.124.233.4] is a legal
    e-mail address. NOTE: The square brackets are required. */
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    /* The following string represents an atom (basically a series of non-special characters.) */
    var atom=validChars + '+';
    /* The following string represents one word in the typical username.
    For example, in john.doe@somewhere.com, john and doe are words.
    Basically, a word is either an atom or quoted string. */
    var word="(" + atom + "|" + quotedUser + ")";
    // The following pattern describes the structure of the user
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    /* The following pattern describes the structure of a normal symbolic
    domain, as opposed to ipDomainPat, shown above. */
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    /* Finally, let's start trying to figure out if the supplied address is valid. */
    /* Begin with the coarse pattern to simply break up user@domain into
    different pieces that are easy to analyze. */
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
    /* Too many/few @'s or something; basically, this address doesn't
    even fit the general mould of a valid e-mail address. */
    alert("Email address seems incorrect (check @ and .'s)");
    return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];
    // Start by checking that only basic ASCII characters are in the strings (0-127).
    for (i=0; i<user.length; i++) {
    if (user.charCodeAt(i)>127) {
    alert("This username contains invalid characters.");
    return false;
    }
    }
    for (i=0; i<domain.length; i++) {
    if (domain.charCodeAt(i)>127) {
    alert("This domain name contains invalid characters.");
    return false;
    }
    }
    // See if "user" is valid
    if (user.match(userPat)==null) {
    // user is not valid
    alert("The username doesn't seem to be valid.");
    return false;
    }
    /* if the e-mail address is at an IP address (as opposed to a symbolic
    host name) make sure the IP address is valid. */
    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) {
    // this is an IP address
    for (var i=1;i<=4;i++) {
    if (IPArray[i]>255) {
    alert("Destination IP address is invalid!");
    return false;
    }
    }
    return true;
    }
    // Domain is symbolic name. Check if it's valid.
    var atomPat=new RegExp("^" + atom + "$");
    var domArr=domain.split(".");
    var len=domArr.length;
    for (i=0;i<len;i++) {
    if (domArr[i].search(atomPat)==-1) {
    alert("The domain name does not seem to be valid.");
    return false;
    }
    }
    /* domain name seems valid, but now make sure that it ends in a
    known top-level domain (like com, edu, gov) or a two-letter word,
    representing country (uk, us), and that there's a hostname preceding
    the domain or country. */
    if (checkTLD && domArr[domArr.length-1].length!=0 &&
    domArr[domArr.length-1].search(knownDomsPat)==-1) {
    alert("Sorry registration not allowed - Only dutch members!");
    return false;
    }
    // Make sure there's a host name preceding the domain.
    if (len<2) {
    alert("This address is missing a hostname!");
    return false;
    }
    // If we've gotten this far, everything's valid!
    return true;
    }
    // End -->
    </script>

    <form name=emailform onSubmit="return emailCheck(this.email.value)">
    Your Email Address: <input type=text name="email">

    <input type=submit value="Submit">

  2. #2
    Join Date
    Feb 2004
    Posts
    808
    this guy can: stamhankar@hotmail.com

    we cant; this is a java forum, and that's javascript.. chalk and er.. crayons
    The 6th edict:
    "A thing of reference thing can hold either a null thing or a thing to any thing whose thing is assignment compatible with the thing of the thing" - ArchAngel, www.dictionary.com et al.
    JAR tutorial GridBag tutorial Inherited Shapes Inheritance? String.split(); FTP?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center
 
 
FAQ
Latest Articles
Java
.NET
XML
Database
Enterprise
Questions? Contact us.
C++
Web Development
Wireless
Latest Tips
Open Source


   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center