<!--
// Versão 2.0
// Valida todos os endereços de e-mail passados em uma lista, separados por ","
// (ou só um, se for o caso)
function ValidarEnderecoDeEmail (szEmail)
	{
	var Enderecos = new Array;
//	Se vierem vários endereços de e-mail separados por vírgula, split
	if (szEmail.indexOf(",") > 0) Enderecos = szEmail.split (",");
//	caso contrário colocar na ocorrencia zero o unico endereço
	else Enderecos [0] = szEmail;
//	validar todos os elementos do array de e-mails
	var nIndex = -1;
	var EnderecoValido = new Boolean;
	while (++nIndex < Enderecos.length)
		{
		EnderecoValido = emailValido (Enderecos [nIndex]);
		if (!EnderecoValido) break;
		}
	return (!EnderecoValido);
	}

function emailValido (emailStr)
{
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- V1.1.3: Sandeep V. Tamhankar (stamhankar@hotmail.com) -->
<!-- Original:  Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
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('O endereço '+emailStr+' não é válido. Por favor verifique e corrija.');
	return false;
	}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) 
	{
	if (user.charCodeAt(i)>127) 
		{
		alert ("Usuário contém caracteres inválidos.");
		return false;
		}
	}
for (i=0; i<domain.length; i++) 
	{
	if (domain.charCodeAt(i)>127) 
		{
		alert("O nome do domínio contém caracteres inválidos.");
		return false;
		}
	}

if (user.match(userPat)==null)
	{
	alert ("Usuário inválido");
	return false;
	}

var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null)
		{
		for (var i=1;i<=4;i++)
			{
			if (IPArray[i]>255)
				{
				alert("IP address inválido");
				return false;
				}
			}
		return true;
		}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++)
	{
	if (domArr[i].search(atomPat)==-1)
		{
		alert("Domínio inválido.");
		return false;
		}
		}
if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
	{
	alert('O endereço '+emailStr+' não é válido. Por favor verifique e corrija.');
	return false;
	}

if (len < 2)
	{
	alert('O endereço '+emailStr+' não é válido. Por favor verifique e corrija.');
	return false;
	}

// If we've gotten this far, everything's valid!
return true;
}
//-->
