Foros del Web » Programando para Internet » PHP »

Validar email con expresiones regulares

Estas en el tema de Validar email con expresiones regulares en el foro de PHP en Foros del Web. Hola, queria saber si esta bien este codigo que hice para validar email: Código PHP: <? $email  =  "[email protected]" ; if( ereg ( "^[a-zA-Z0-9_-]{2,}@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,4})?$" ,  ...
  #1 (permalink)  
Antiguo 05/10/2007, 21:23
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Validar email con expresiones regulares

Hola, queria saber si esta bien este codigo que hice para validar email:

Código PHP:
<?

$email 
"[email protected]";

if(
ereg("^[a-zA-Z0-9_-]{2,}@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,4})?$"$email)){
echo 
"ok";

}else{

echo 
"no";

}

?>
Quizas que tenga algunos errores ya que hace poco empece con las expresiones regulares.
Lo probe y funciona bien. Lo unico que le faltaria es aceptar el caracter "." dentro de la primera parte del email (antes del @).
Gracias
  #2 (permalink)  
Antiguo 06/10/2007, 06:56
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Validar email con expresiones regulares

Si me permitís la auto-promoción descarada, te digo que leas esto

Para agregar la posibilidad de tener un punto en la primera parte del correo, simplemente agregalo a la clase de caracteres:
[a-zA-Z0-9_.-]

Tu expresión regular está bastante bien, pero falla en algunos casos (poco comunes quizás, pero existentes).
Tu expresión regular fallaría para un correo del centro de estudiantes de mi universidad, por ejemplo:

[email protected]

al tener 4 partes separadas por punto luego del @ (estás buscando como máximo 3).

Tampoco acepta direcciones tipo

[email protected]um

por decir una tontería, ya que aunque ".museum" es parte de la lista de dominios, tu expresión falla porque tiene más de 4 letras.

El correo electrónico la verdad es complicado de validar.


Nota: acabo de ver que la expresión regular que en el foro convierte las direcciones a enlaces, también "se come" el .museum...



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

SíEste tema le ha gustado a 2 personas (incluyéndote)




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