function ValidateEmail(sEmail)
{var reEmail=/^(.+)@(.+)$/;var reQuotedString="(\"[^\"]*\")";var reIPDomain=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var reValidCharString="\[^\\s\\(\\)><@,;:\\\\\\\"\\.\\[\\]\]+";var reGetString="("+reValidCharString+"|"+reQuotedString+")";var reUserName=new RegExp("^"+reGetString+"(\\."+reGetString+")*$");var reDomain=new RegExp("^"+reValidCharString+"(\\."+reValidCharString+")*$");var reWholeCharString=new RegExp("^"+reValidCharString+"$");var matchArray=sEmail.match(reEmail);if(matchArray==null)return false;var sUsername=matchArray[1];var sDomain=matchArray[2];for(i=0;i<sUsername.length;i++){if(sUsername.charCodeAt(i)>127)return false;}
if(sUsername.match(reUserName)==null)return false;for(i=0;i<sDomain.length;i++){if(sDomain.charCodeAt(i)>127)return false;}
var arrIPNums=sDomain.match(reIPDomain);if(arrIPNums!=null)
{for(var i=1;i<=4;i++){if(arrIPNums>255)return false;}}
else
{var arrDomains=sDomain.split(".");var iDomainLen=arrDomains.length;if(iDomainLen<2)return false;for(i=0;i<iDomainLen;i++){if(arrDomains[i].search(reWholeCharString)==-1)return false;}}
return true;}