Foros del Web » Programando para Internet » Javascript »

Tip: comprobar e-mail

Estas en el tema de Tip: comprobar e-mail en el foro de Javascript en Foros del Web. He pasado un tiempo buscando algun script que validara direcciones de e-mail pero nunca encontre uno que controle absolutamente todo. Por eso fabrique el que ...
  #1 (permalink)  
Antiguo 09/07/2002, 05:37
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 11 meses
Puntos: 0
Tip: comprobar e-mail

He pasado un tiempo buscando algun script que validara direcciones de e-mail pero nunca encontre uno que controle absolutamente todo. Por eso fabrique el que les presento a continuacion, y lo presento aca por si a alguno de ustedes les pasaba lo mismo.
ACLARACION: tiene muchas partes sin simplificar, ya lo se, pero esta hecho y explicado de esa forma para que cualquiera pueda entenderlo sin ponerse a pensar que fue lo que quise hacer, por ejemplo llaves, comprobaciones, etc.

Primera Parte:

function validar_mail ()
{

var error = "no";

//el mail ingresado es
mail = document.formregistro.mail.value;

//los caracteres posibles son:
caracteres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQR STUVWXYZ0123456789-_.@";

//la posicion de la arroba sera
var posicion_arroba = 0;

//la cantidad de arrobas sera
var cant_arrobas = 0;

//la posicion del ultimo punto sera
var posicion_punto = 0;

//la cantidad de puntos sera
var cant_puntos = 0;

//cuento la cantidad de arrobas y puntos y guardo
//las posiciones de los ultimos de c/u
for (var i=0; i<mail.length; i++)
{
if (mail.charAt(i) == "@")
{
posicion_arroba = i;
cant_arrobas = cant_arrobas + 1;
}
if (mail.charAt(i) == ".")
{
posicion_punto = i;
cant_puntos = cant_puntos + 1;
}

//voy a cerciorarme de que la cadena mail no contiene
//ningun caracter extraño
//si lo contiene entonces error = "si"

if (caracteres.indexOf(mail.charAt(i))<0)
{
error = "si";
}

}

//si encuentro luego de la arroba .. entonces:

if (mail.indexOf('..',posicion_arroba)>=0)
{
error = "si";
}
  #2 (permalink)  
Antiguo 09/07/2002, 05:39
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Tip: comprobar e-mail

Segunda parte:

//ahora comprobamos:
//que haya una y solo una arroba
//que la unica arroba no este ni al principio ni al final del mail
//que haya por lo menos un punto
//que el ultimo punto no este al final del mail
//que el ultimo punto este mas a la derecha que la arroba
//que luego de la arroba no haya un punto, sino un dominio
//que luego de la arroba no haya dos puntos seguidos
//que no contenga ningun caracter extraño (no incluidos en caracteres, como espacio)
//que no comienze ni con - ni _ ni .


if ((cant_arrobas==0)||(cant_arrobas>1)||(posicion _arroba==0)||(posicion_arroba==mail.length-1)||(cant_puntos==0)||(posicion_punto==mail.leng th-1)||(posicion_punto<posicion_arroba)||(mail.cha rAt(posicion_arroba+1)==".")||(mail.char At(posicion_punto-1)==".")||(error=="si")||(mail .charAt(0)=="-")||(mail.charAt(0)=="_")||(mail.ch arAt(0)=="."))
{
window.alert("Direccion de e-mail incorrecta");
return false;
}

return true;
}

luego en el tag form: onsubmit="return validar_mail ()"
o bien en el boton de envio: onclick="return validar_mail ()"

Repito, hay cosas que sobran, pero cualquiera puede entenderlo asi.
Ojala a alguien le sirva como a mi. Suerte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:33.