Función en PHP para comprobar si un email es válido – Explicación

Algunos me habéis pedido que os explique cómo funciona el sencillo script que publiqué el otro día:

Pues vamos a analizarlo un poco.

La función ereg analiza la cadena $email, buscando si hay texto que se ajuste al patrón:

y almacene el resultado en el array $resultado.

El patrón parece algo críptico pero es bastante sencillo:

[A-Za-z0-9_.-] : sirve para indicar que buscamos un texto que contenga las letras de la ‘A’ a la ‘Z’, de la ‘a’ a la ‘z’, dígitos entre 0 y 9 y los símbolos ‘_’, ‘.’ y ‘-‘.

El símbolo + a continuación indica que pueden ser uno o más caracteres.

Un email suele estar compuesto de las siguientes partes:

(no son los nombres correctos pero los pongo así para entendernos).

con el patrón que hemos usado quedaría algo así:

Nótese que la extensión no admite ningún ‘.’.

Actualización: He corregido un pequeño un error en el patrón que hacía que aceptase emails con una barra invertida, como por ejemplo:

4 thoughts on “Función en PHP para comprobar si un email es válido – Explicación

  1. Me gustaria saber si sabes como hacer para que el formulario envie un correo al usuario y le pida que autentifique que el pidio el registro en dicho lugar y que luego de verificado (usualmente mediante un link) el registro, entonces le envie un mail al usuario con los datos ingresado y que su registro fue un exito.

    Quiero hacerlo en flash, pero si sabes la funcion en php luego puedo averiguar como adaptarlo para que funcione con flash.

    Muchas gracias.

  2. Hola. Quisiera saber, claro, si se puede, si se pudiese hacer un script similar al que has expuesto, pero que tenga para dominios limitados, es decir, que sólo acepte emails de hotmail, yahoo, gmail, entre otros que defina. ¿Eso se puede con el mismo script o necesariamente se debe usar JavaScript?
    P.D.: Estoy creando una página WAP (para celulares) y debo evitar en lo posible usar JavaScript (los móviles, en su mayoría, no lo ejecutan). Gracias anticipadamente por tu respuesta.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.