Thursday, January 7, 2010

Validating Email Using JavaScript

=============================================
function isEmail(emailStr) {
var emailPat = /^(.+)@(.+)$/
var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars = "\[^\\s" + specialChars + "\]"
var quotedUser = "(\"[^\"]*\")"
var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom = validChars + '+'
var word = "(" + atom + "|" + quotedUser + ")"
var userPat = new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$")

var matchArray = emailStr.match(emailPat)

if (matchArray == null) {
return false
}

var user = matchArray[1]
var domain = matchArray[2]


if (user.match(userPat) == null) {
return false
}

var IPArray = domain.match(ipDomainPat)

if (IPArray != null) {
for (var i = 1; i <= 4; i++) { if (IPArray[i] > 255) {
return false
}
}
return true
}

var domainArray = domain.match(domainPat)

if (domainArray == null) {
return false
}

var atomPat = new RegExp(atom, "g")
var domArr = domain.match(atomPat)
var len = domArr.length

if (domArr[domArr.length - 1].length < 2 || domArr[domArr.length - 1].length > 3) {
return false
}

if (len < 2) {
var errStr = "Email ID is missing a Host Name!"
return false
}

return true;
}
=============================================

No comments:

Post a Comment