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("E-mail Adres lijkt onjuist (check @ en. 'S)") return false } var user=matchArray[1] var domain=matchArray[2] if (user.match(userPat)==null) { alert("De gebruikersnaam het e-mailadres lijkt ongeldig") 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("Bestemming IP in het e-mailadres is ongeldig") return false } } return true } var domainArray=domain.match(domainPat) if (domainArray==null) { alert("De domeinnaam in het e-mailadres lijkt ongeldig") 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("E-mailadres moet eindigen op een geldige domeinnaam of twee letters bestaande landencode") return false } if (len<2) { var errStr="E-mail adres ontbreekt een hostname" alert(errStr) return false } return true; }