var Validid = false, Domain = "", Mailac = "", Mailadd = "";
function Idysval(emailid, Tldreq)
{
var tmpemail = ""+emailid+"", tmpdomn;
var mailobj;
this.Mailadd = tmpemail;
tmpemail = Trim(RemoveBrackets(tmpemail));
mailobj = new Object();
mailobj.acct="";
mailobj.domain="";
if (! CrackEmailid(tmpemail, mailobj))
{
return;
}
this.Mailac = mailobj.acct;
this.Domain = mailobj.domain;
if (! DomainValid(Tldreq, this.Domain) )
{
return;
}
if (Tldreq && ! Domextvald(this.Domain))
{
return;
}
this.Validid = true;
}
function CrackEmailid(emailid, mailobj)
{
var arr, re;
re = /^(.+?)\@(.+?)$/gi
if ((arr=re.exec(ReverseString(emailid))) == null)
{
return false;
}
mailobj.acct = ReverseString(RegExp.$2);
mailobj.domain = ReverseString(RegExp.$1);
return true;
}
function RemoveBrackets(emailid)
{
var re = /^\<*|\>*$/gi
return emailid.replace(re, "");
}
function Trim(emailid)
{
var re = /^\s*|\s*$/gi
return emailid.replace(re, "");
}
function ReverseString(str)
{
var i, outstr = "";
for(i=str.length-1;i>-1;i--)
{
outstr += str.charAt(i);
}
return outstr;
}
function DomainValid(Tldreq, tmpdomn)
{
var re;
if (Tldreq)
{
re = /^((([a-z0-9-]+)\.)+)[a-z]{2,6}$/gi
}
else
{
re = /^((([a-z0-9-]+)\.)+)$/gi
tmpdomn += ".";
}
return re.test(tmpdomn);
}
function Domextvald(tmpdomn)
{
var domvalpattrn = "", re;
domvalpattrn+="^(";
domvalpattrn+="com|"; //com
domvalpattrn+="edu|"; //edu
domvalpattrn+="net|"; //net
domvalpattrn+="org|"; //org
domvalpattrn+="mil|"; //mil
domvalpattrn+="gov|"; //gov
domvalpattrn+="biz|"; //biz
domvalpattrn+="pro|"; //pro
domvalpattrn+="aero|"; //aero
domvalpattrn+="coop|"; //coop
domvalpattrn+="info|"; //info
domvalpattrn+="name|"; //name
domvalpattrn+="int|"; //int
domvalpattrn+="museum"; //museum
domvalpattrn+=")$";
var idx = tmpdomn.lastIndexOf(".");
re = new RegExp(domvalpattrn, "i");
return re.test(tmpdomn.substring(idx+1));
}
Idysval.prototype.Mailadd=Mailadd;
Idysval.prototype.Mailac=Mailac;
Idysval.prototype.Domain=Domain;
Idysval.prototype.Validid=Validid;
function Miladd()
{
var validator, valid = false;
validator = new Idysval(this, true);
valid = validator.Validid;
validator = null;
return valid;
}
Bookmarks