function emailCheck (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) {	alert("Het emailadres lijkt incorrect (controleer @ en punten) !")	return false}var user=matchArray[1]var domain=matchArray[2]// See if "user" is valid if (user.match(userPat)==null) {    // user is not valid    alert("De gebruikersnaam voor het @ lijkt incorrect!")    return false}var IPArray=domain.match(ipDomainPat)if (IPArray!=null) {    // this is an IP address	  for (var i=1;i<=4;i++) {	    if (IPArray[i]>255) {	        alert("Bestemmings IP-adres is ongeldig!")		return false	    }    }    return true}// Domain is symbolic namevar domainArray=domain.match(domainPat)if (domainArray==null) {	alert("De domeinnaam lijkt incorrect!")    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>4) {   alert("Het emailadres moet eindigen op een vier of drie letterig domein of een twee letterrig land!")   return false}// Make sure there's a host name preceding the domain.if (len<2) {   var errStr="Dit emailadres lijkt een hostnaam te missen!"   alert(errStr)   return false}// If we've gotten this far, everything's valid!return true;}
