Antes que todo saludarlos y agradecer desde ya cualquier ayuda o sugerencia.
Bueno encontre una funcion para validar el email, que para mi esta muy buena, el caso es que esta funcion no me permite emial con este tipo de caracter _ y hay muchos usuarios que utilizan en sus correos tal caracter _ .
El problema que yo no soy muy experto en las expresiones regulares, me gustaria si alguien me puede ayudar a visualizr en donde debo modificar el codigo para que acepte el caracter _ .
Les dejo la funcion.
Código PHP:
function check_email_address($email)
{
// Primero se comprueba que existe una @ y que las longitudes son correctas
if (!ereg("[^@]{1,64}@[^@]{1,255}", $email))
{
// Email inválido por un número incorrecto de carácteres o número incorrecto de @'s
return false;
}
// Partimos el email en porciones, a partir de la @ y el .
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++)
{
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i]))
{
return false;
}
}
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1]))
{
// Comprobamos si el dominio es una IP
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2)
{
return false; // Dominio con partes insuficientes
}
for ($i = 0; $i < sizeof($domain_array); $i++)
{
if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i]))
{
return false;
}
}
}
return true;
}
Gracias Nuevamente