I've taken the regular expressions from a website some time ago, and now I'm trying to fix some issues but I'm terrible with regular expressions, I'm just learning, any help would be appreciated.
What am I doing wrong here?
function validateEmail(email) {
var reg1 = /^([a-zA-Z0-9])+\@([a-zA-Z0-9])+\.+([a-zA-Z0-9])+$/; // example@mail.com
var reg2 = /^([a-zA-Z0-9])+\@([a-zA-Z0-9])+\.+([a-zA-Z0-9])+\.+([a-zA-Z0-9])+$/; // example@mail.test.com
var reg3 = /^([a-zA-Z0-9])+\@([a-zA-Z0-9])+\.+([a-zA-Z0-9])+$/; // example.test@mail.test.com
var reg4 = /^([a-zA-Z0-9])+\.+@([a-zA-Z0-9])+\.+([a-zA-Z0-9])+\.+([a-zA-Z0-9])+$/; // example.test@mail.com
return reg1.test(email) || reg2.test(email) || reg3.test(email) || reg4.test(email)
}
I need to accept mails in this formats:
example@mail.com
example@mail.test.com
example.test@mail.test.com
example.test@mail.com
reg1 and reg2 are working, reg3 and reg4 are not working.
Last edit:
I've tried to fix it like this, didn't work properly neither:
function validateEmail(email) {
var reg1 = /^([a-zA-Z0-9])+\@([a-zA-Z0-9])+\.+([a-zA-Z0-9])+$/; // example@mail.com
var reg2 = /^([a-zA-Z0-9])+\@([a-zA-Z0-9])+\.+([a-zA-Z0-9])+\.+([a-zA-Z0-9])+$/; // example@mail.test.com
var reg3 = /^([a-zA-Z0-9])+\.+([a-zA-Z0-9])+\@([a-zA-Z0-9])+\.+([a-zA-Z0-9])+\.+([a-zA-Z0-9])+$/; // example.test@mail.test.com
var reg4 = /^([a-zA-Z0-9])+\.+([a-zA-Z0-9])+\@([a-zA-Z0-9])+\.+([a-zA-Z0-9])+$/; // example.test@mail.com
return reg1.test(email) || reg2.test(email) || reg3.test(email) || reg4.test(email)
}