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("Dirección de correo electrónico parece ser incorrecto (marque @ y. 'S)") return false } var user=matchArray[1] var domain=matchArray[2] if (user.match(userPat)==null) { alert("El nombre de usuario en la dirección de correo electrónico válida parece") 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("IP de destino en la dirección de correo electrónico no es válida") return false } } return true } var domainArray=domain.match(domainPat) if (domainArray==null) { alert("El nombre de dominio en la dirección de correo electrónico válida parece") 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("Dirección de correo electrónico debe terminar en un dominio válido o dos letras del país") return false } if (len<2) { var errStr="Dirección de correo electrónico le falta un nombre de host" alert(errStr) return false } return true; }