0

How do I validate an email in JavaScript. I have click event that checks if the value is blank - please see below but how do I check an onblur event in a separate function that checks an regular expression

var e =document.forms["myForm"]["email_18"].value;
if(e==null ||e=="" || e=="someone@example.com")
{
    document.getElementById("emailMessage").innerHTML = "*Please enter an  email";
    flag = false;
}

Text Box:

<input type="email" class="text" name="email_18" id="amf-input-email_18" value="" placeholder="someone@example.com" maxlength="255" onkeyup="if(this.length>255) this.value=this.value.substr(0, 255)"></div></div>
Passerby
  • 9,715
  • 2
  • 33
  • 50
user3120015
  • 181
  • 4
  • 5
  • 17

2 Answers2

9

use regex for email checking:

function checkEmail(str)
{
    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,}))$/;
    if(!re.test(str))
    alert("Please enter a valid email address");
}

add onblur event to your input box:

<input type="email" class="text" name="email_18" id="amf-input-email_18" value="" placeholder="someone@example.com" maxlength="255" onblur="checkEmail(this.value)"></div></div>
Volkan Ulukut
  • 4,230
  • 1
  • 20
  • 38
0

Set onblur atrribute of yout textbox to function name as below

<input type="email" class="text" name="email_18" id="amf-input-email_18" value="" placeholder="someone@example.com" maxlength="255" onkeyup="if(this.length>255) this.value=this.value.substr(0, 255)" onblur="checkemail(this.value)">

And write the javascript function as below :

function checkemail(email)
{
   var regex=/^[a-zA-Z0-9\.\_]+\@@{1}[a-zA-Z0-9]+\.\w{2,4}$/;
   if(!regex.test(email))
   {
       alert('Please enter valid email id');
    }
 }
Abhay Prince
  • 2,032
  • 1
  • 15
  • 17