//if HTML5 input email input is not supported
if(type == 'email'){
if(!Modernizr.inputtypes.email){
var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@([a-zA-Z0-9\-])+\.+([a-zA-Z0-9]{2,4})+$/;
if( !emailRegEx.test(value) ){
this.focus();
formok = false;
errors.push(errorMessages.email + nameUC);
return false;
}
}
}
This is my javascript regex for checking if e-mail format is correct. But When I try it myself it shows no error for any ..@.. It does not check .com or whatever in the end. What am I doing wrong?
You need to use a regex that actually fits for an email address. Your current one is completely broken as there are tons of valid addresses it won’t accept.
See http://www.regular-expressions.info/email.html for a more detailed description and arguments why a regex is not such a good idea after all.
Anyway, here’s one that probably fits for your needs:
Here’s what regular-expressions.info says about this regex: