I have the following regex /^[a-zA-Z0-9-\_.]+@[a-zA-Z0-9-\_.]+\.[a-zA-Z0-9.]{2,5}$/
and when I test the regex in an online tester, it works just fine, but when I try and use it on Chrome, I get an error:
Pattern attribute value ^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+.[a-zA-Z0-9.]{2,5}$ is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+.[a-zA-Z0-9.]{2,5}$/: Invalid escape
UPDATE:
I also get the error in Firefox:
Unable to check because the pattern is not a valid regexp: invalid identity escape in regular expression
Here is the javascript code that is being used:
jQuery( "#contact_submit" ).submit(function( event ) {
event.preventDefault();
//Loader Image
jQuery("#loader").show();
var templateUrl = object_name.templateUrl;
//Template Path
jQuery("#loader").html("<img src="+templateUrl+"/aj-loader.gif alt='' width='35'>");
var name = jQuery('#name_vc').val();
var lname = jQuery('#name_lvc').val();
var email = jQuery('#email_vc').val();
var subject = jQuery('#subject_vc').val();
var message = jQuery('#message_vc').val();
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var errormsg = "";
if(name == ""){
errormsg = "<p><font color='red'><h5 class = 'form_name_field'>Please Enter Name</h5></font></p>";
}
if(email == ""){
errormsg += "<p><font color='red'><h5 class = 'form_name_field'>Please Enter Email</h5></font></p>";
} else if (!filter.test(email)) {
errormsg += "<p><font color='red'><h5 class = 'form_name_field'>Please Provide A Valid Email Address</h5></font></p>";
}
if(subject == ""){
errormsg += "<p><font color='red'><h5 class = 'form_name_field'>Please Enter Subject</h5></font></p>";
}
if(message == ""){
errormsg += "<p><font color='red'><h5 class = 'form_name_field'>Please Enter Message</h5></font></p>";
}
if(errormsg != ""){
jQuery("#loader").html(errormsg);
return false;
}
jQuery.ajax({
url: ajaxurl,
data: {
'action':'courses_ajax_request',
'type':'display_contact',
'name': jQuery('#name_vc').val(),
'lname': jQuery('#name_lvc').val(),
'email': jQuery('#email_vc').val(),
'subject': jQuery('#subject_vc').val(),
'message': jQuery('#message_vc').val(),
'email_to': jQuery('#email_to').val()
},
success:function(data) {
jQuery("#loader").html(data).delay( 5000 ).hide('slow');
jQuery('#name_vc').val(""),
jQuery('#name_lvc').val(""),
jQuery('#email_vc').val(""),
jQuery('#subject_vc').val(""),
jQuery('#message_vc').val("")
},
error: function(errorThrown){
console.log(errorThrown);
}
});
});
Can someone tell me what is going on and how I can fix it?