#1
Función en PHP para comprobar si un email es válido – Explicación el Mar Dic 29, 2009 1:18 pm
Función en PHP para comprobar si un email es válido – Explicación el Mar Dic 29, 2009 1:18 pmcómo funciona el sencillo script :
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:
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:
Fuente: http://nideaderedes.urlansoft.com/2008/02/01/funcion-en-php-para-comprobar-si-un-email-es-valido-explicacion/
- Código:
if (ereg("([A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+\.[A-Za-z0-9_-]+)", $email, $resultado))
{
echo $resultado[1];
}
Pues vamos a analizarlo un poco.
La función ereg analiza la cadena $email, buscando si hay texto que se ajuste al patrón:
- Código:
"[A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+\.[A-Za-z0-9_-]+"
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:
- Código:
usuario@subdomino1.subdominio2.dominio.extensión(no son los nombres correctos pero los pongo así para entendernos).
con el patrón que hemos usado quedaría algo así:
- Código:
usuario: [A-Za-z0-9_.-]+
@: @
[A-Za-z0-9_\.-]+: subdomino1.subdominio2.dominio
.extensión: \.[A-Za-z0-9_-]+
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:
- Código:
pa\co@email.com
Fuente: http://nideaderedes.urlansoft.com/2008/02/01/funcion-en-php-para-comprobar-si-un-email-es-valido-explicacion/








Mensajes
Reputacion
Puntos
Localización
Edad




