cuadro de texto que se escriba bien el correo electronico

carlos
28 de Enero del 2004
Necesito el codigo para una casilla en donde se solicite escribir el email, pero que se escriba correctamente con la @,
gracias

scriptman
28 de Enero del 2004
Necesitas un validador de email, no solo que tenga @, sino que tenga 2 o mas letras antes y despues de la @, un punto, y 2 o mas letras despues del punto;
minimo que sea: [email protected]

function validaEmail(str) {
if (window.RegExp) {
var reg1str = "(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)";
var reg2str = "^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$";
var reg1 = new RegExp(reg1str);
var reg2 = new RegExp(reg2str);
if (!reg1.test(str) && reg2.test(str))
return true;
else return false;
}
else if(str.indexOf("@") >= 0) return true;
}

ejemplo de uso:
alert(validaEmail("[email protected]")); //dara true
alert(validaEmail("bla@bla")); //dara false, etc.

ejemplo practico:

<form id="miForm" onsubmit="if(!validaEmail(miForm.miMail.value)) alert('Escriba un email valido'); return false;">
<input id="miMail">
<input type="submit">
</form>

Saludos, scriptman.
.::Apoya el software libre::.