Skip to content

Instantly share code, notes, and snippets.

@iampeterbanjo
Created July 27, 2011 21:52
Show Gist options
  • Save iampeterbanjo/1110460 to your computer and use it in GitHub Desktop.
Save iampeterbanjo/1110460 to your computer and use it in GitHub Desktop.
JavaScript email validation test
function log(message){
if(window.console){
console.log(message);
}
}
function warn(message){
if(window.console){
console.warn(message);
}
}
var passed = 0, failed = 0;
function assert(condition, ref){
if(condition){
log(ref + " passed");
passed++;
} else {
warn(ref + " failed");
failed++;
}
}
var validEmailRegex = /^[\w\W.-]+@[\w.-]+\.[\w.:]{2,}$/;
// test emails
function testEmails(){
log("** test emails");
log("these should pass");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("hasApostrophe.o'[email protected]"), "hasApostrophe.o'[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]:25"), "[email protected]:25");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
assert(validEmailRegex.exec("&*=?^+{}'[email protected]"), "&*=?^+{}'[email protected]");
assert(validEmailRegex.exec("[email protected]"), "[email protected]");
log("these should fail");
assert(validEmailRegex.exec("@bar.newTLD"), "@bar.newTLD");
assert(validEmailRegex.exec("@bar"), "@bar");
assert(validEmailRegex.exec(".bar"), ".bar");
assert(validEmailRegex.exec("bar"), "bar");
assert(validEmailRegex.exec("Your email address"), "Your email address");
log("passed = " + passed);
log("failed = " + failed);
}
testEmails();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment