Foros del Web » Programando para Internet » PHP »

Control E-Mail

Estas en el tema de Control E-Mail en el foro de PHP en Foros del Web. Hola buenas, verán soy muy nuevo en esto del PHP y tengo una dudilla para resolver, he estado buscando por el foro pero no encuentro ...
  #1 (permalink)  
Antiguo 24/03/2009, 15:02
 
Fecha de Ingreso: marzo-2009
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
Control E-Mail

Hola buenas, verán soy muy nuevo en esto del PHP y tengo una dudilla para resolver, he estado buscando por el foro pero no encuentro nada de utilidad.

Mi problema es el siguiente: Tengo un formulario el cual tiene que recojer un E-Mail. El problema reside en que no se controlar que realmente sea un e-mail. He utilizado la funcion strpos con "(arroba)" y "(punto)com". (Por motivos de anti-spam no me deja poner estos caracteres)

El problema de esto esque no es muy limpio, ya que puedo meter una cadena de texto y no tiene porque ser precisamente un e-mail. Me han comentado que hay funciones en php que te permiten esto, pero buscando en la pagina de php no logro ver algo (tambien se debe a que mi ingles es nefasto).

Si pudieran echarme una manilla os lo agredeceria.

Un saludo!!
  #2 (permalink)  
Antiguo 24/03/2009, 15:30
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Control E-Mail

Código php:
Ver original
  1. function email_valido($email) {
  2.     return preg_match('/^(([^<>()[\]\\.,;:\s@"\']+(\.[^<>()[\]\\.,;:\s@"\']+)*)|("[^"\']+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/', $email);
  3. }
  4.  
  5. if(email_valido('[email protected]'))
  6.     echo 'Es una cuenta de correo electronico.';
  7. else
  8.     echo 'No es una cuenta de correo electronico.';
__________________
- León, Guanajuato
- GV-Foto
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 10:18.