Solved

regular expression for email format

Posted on 2009-05-18
2
485 Views
Last Modified: 2012-05-07
I have a function that evaluates whether an input matches a valid email format, but it is horribly slow.  Any ideas?

The validation it needs to run is:
start with valid name characters (A-Za-z0-9._) (am I missing any?)
then an @
then valid characters (A-Za-z0-9._) (am I missing any?)
then a .
then 2-4 characters
function isValidEmailFormat(strEmail){

//alert(strEmail);

    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,2})+$/.test(strEmail)){

        return true;

    } else {

        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(strEmail)){

            return true;

        } else {

            if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(strEmail)){

                return true;

            } else {

                return false;

            }

        }

    }

    return false; 

}

Open in new window

0
Comment
Question by:nap0leon
2 Comments
 
LVL 19

Accepted Solution

by:
moagrius earned 500 total points
ID: 24412628
Here is a pretty sturdy email validation expression.  it'll include more complex emails containing multiple dots and odd domains.
var isemail = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i;
 

//  examples

var good = "bob@bob.com";

var bad = "bob@bob";

var complex = "jj.abrams@nbc.universal.com";

alert(isemail.test(good));

alert(isemail.test(bad));

alert(isemail.test(complex));

Open in new window

0
 
LVL 18

Author Closing Comment

by:nap0leon
ID: 31582619
Appears to work great - thanks!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Avoid defining the variables in the global scope; trying to define them in a local function scope. Because:   • Look-up is performed every time a variable is accessed.   • Variables are resolved backwards from most specific to least specific scope…
In my daily work (mainly using ASP.net), I need to write a lot of JavaScript code. One of the most repetitive tasks I do are the jQuery Ajax calls. You know: (CODE) I don't know if for you it's the same, but for me is soooo tedious to write the …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now