Foros del Web » Programando para Internet » Javascript »

Comprobar email con expresión regular

Estas en el tema de Comprobar email con expresión regular en el foro de Javascript en Foros del Web. Hola. Me gustaría saber la manera correcta de averigüar mediante una expresión regular si una dirección de correo electrónico es correcta o no. He encontrado ...
  #1 (permalink)  
Antiguo 02/05/2006, 03:36
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Comprobar email con expresión regular

Hola.

Me gustaría saber la manera correcta de averigüar mediante una expresión regular si una dirección de correo electrónico es correcta o no. He encontrado muchas, pero la verdad es que todas tienen algún pero.
Tengo una que casi casi funciona del todo, pero no deja meter eñes en la dirección (algo que si debería dejar).

Este es el que encontré:

var validador_email = /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/;

Si meto la dirección: laeñ[email protected] me dice que es incorrecto (no debería)

Yo lo que he hecho es añadirle una "ñ" en los rangos, pero sólo me funciona hasta antes de la arroba. Si después de la arroba introduzco una "ñ", ya me falla. Esto es lo que puse:

var validador_email = /^(([A-Za-z0-9ñ]+_+)|([A-Za-z0-9ñ]+\-+)|([A-Za-z0-9ñ]+\.+)|([A-Za-z0-9ñ]+\++))*[A-Za-z0-9ñ]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Zñ]{2,6}$/;

Si aqui meto la dirección: laeñ[email protected] me la da por válida (bien hecho)
Si meto esta: laeñe@laeñe.com me dice que es incorrecta (no debería).

Gracias.

Saludos.
  #2 (permalink)  
Antiguo 02/05/2006, 03:54
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 1
prueba con esto a ver si tira:

function comprobarmail(campodir)
{
var dir=campodir.value;

var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
if (filter.test(dir))
return true;
else{
alert("Dirección de correo electrónico no válida.");
campodir.focus();
campodir.select();
return false;
}
}
  #3 (permalink)  
Antiguo 02/05/2006, 03:59
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Gracias por contestar. pero agradecería que leyeras un poco mi post antes de responder: Tiene que dejar introducir eñes en la dirección de correo electrónico, algo que lo que me propones no hace.

De todas maneras, gracias por tu aportación.

Saludos.
  #4 (permalink)  
Antiguo 02/05/2006, 06:19
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hum ... te dejo la mía

Código:
var pat = /^([\w\.-ñÑ]{2,150})@([\w-ñÑ]{2,64})\.[a-znÑ]{2,6}(\.[a-z]{2,6})?$/
un saludo
  #5 (permalink)  
Antiguo 02/05/2006, 08:56
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
De acuerdo

Muchas gracias tunait, ya funciona.

Por cierto, antes de la arroba se pueden poner también guiones no? porque tu expresión no deja poner guiones antes de la arroba.

Al final he puesto lo siguiente (he añadido el guión que está en rojo respecto a tu expresión):

var validador_email = /^([\w\.-ñÑ-]{2,150})@([\w-ñÑ]{2,64})\.[a-zñÑ]{2,6}(\.[a-z]{2,6})?$/;


Muchas gracias.

Saludos.
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 19:11.