Email Validator Script in JS
Here is a simple function in Javascript (JS) which uses regular expression to tests whether the given string matches to a valid email patters.
The JS built-in function used here is test().
Use the function given below to validate Email address
<script>
function EmailValidator(str) {
var emailText = str;
var pattern = /^[a-zA-Z0-9\-_]+(\.[a-zA-Z0-9\-_]+)*@[a-z0-9]+(\-[a-z0-9]+)*(\.[a-z0-9]+(\-[a-z0-9]+)*)*\.[a-z]{2,4}$/;
if (pattern.test(emailText)) {
return true;
} else {
return false;
}
}
</script>
The above given function will return TRUE if email is valid else return FALSE
Function usage:
<script>
if( !validateEmail(document.form.txt_email.value) ){
alert("Please enter a valid Email address");
document.form.txt_email.focus();
return false;
}
</script>
if you are familiar with HTML5 you can use this:
<form>
<input type="email_address" pattern="^[a-zA-Z0-9\-_]+(\.[a-zA-Z0-9\-_]+)*@[a-z0-9]+(\-[a-z0-9]+)*(\.[a-z0-9]+(\-[a-z0-9]+)*)*\.[a-z]{2,4}$">
<input type="submit">
</form>
The test() method tests for a match in a string and returns true if it finds a match, otherwise it returns false.
================
Javascript Email validation script with out regular expression:
The below given function checks for presence of @ and dot and also the position of those characters
function testEmailAddress(emailToTest) {
// check for @
var atSymbol = emailToTest.indexOf("@");
if(atSymbol < 1) return false;
var dot = emailToTest.indexOf(".");
if(dot <= atSymbol + 2) return false;
// check that the dot is not at the end
if (dot === emailToTest.length - 1) return false;
return true;
}
Ref: http://stackoverflow.com/questions/20588026/validating-email-address-using-jscript-without-a-regular-expression
Another modifications picked from user comments:
function validateEmail(email)
{
var re = /\S+@\S+\.\S+/;
return re.test(email);
}
==============
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
==============
var testresults
function checkemail(){
var str=document.validation.emailcheck.value
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (filter.test(str))
testresults=true
else{
alert("Please input a valid email address!")
testresults=false
}
return (testresults)
}
Ref : http://www.javascriptkit.com/script/script2/acheck.shtml