View Full Version : email validation needs tweaking

Feb 16th, 2007, 04:27 PM
I'm using the following code for an email validator:

function emailCheck(emailStr) {

// checks if the e-mail address is valid
var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
var matchArray = emailStr.match(emailPat);
if (matchArray == null) {
alert("Your email address seems incorrect. Please try again (check the '@' and '.'s in the email address)");
return false;
// make sure the IP address domain is valid
var IPArray = matchArray[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
if (IPArray != null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Your email destination IP address is invalid!");
return false;
return true;

But the following email address get rejected:

[email protected]
[email protected]
[email protected]

and I can't figure out why. How do I tweak my code so that these email address will be seen as valid?

Philip M
Feb 16th, 2007, 04:38 PM
Try this:-

var emailPat = /^([a-z0-9])(([\-.]|[_]+)?([a-z0-9]+))*(@)([a-z0-9])((([-]+)?([a-z0-9]+))?)*((.[a-z]{2,3})?(.[a-z]{2,6}))$/i