Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/06/2010, 06:32
Plansd
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
Respuesta: validar formulario PHP

No te puedo ayudar con lo del teléfono porque también soy novato, pero si que he encontrado por ahí y aplicado en mi web una validación del email completísima. Espero que te sirva. Ya veré las respuestas a lo del teléfono para aplicarlo yo también cuando se resuelva.

Utiliza un poco de javascript. Tan solo tienes que cambiar la variable $correo por la que tu tengas.

//aqui valido el email
function check_email_address($correo)
{
// Primero, checamos que solo haya un símbolo @, y que los largos sean correctos
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $correo))
{
// correo inválido por número incorrecto de caracteres en una parte, o número incorrecto de símbolos @
return false;
}
// se divide en partes para hacerlo más sencillo
$email_array = explode("@", $correo);
$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;
}
}
// se revisa si el dominio es una IP. Si no, debe ser un nombre de dominio válido
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1]))
{
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2)
{
return false; // No son suficientes partes o secciones para se un dominio
}
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;
}
//aqui le hago el if a la validacion
if (check_email_address($correo))
{
echo ' ';
}
else
{
echo "<script>alert('El Email introducido no es válido. Inténtelo de nuevo');</script>";
echo "<script>history.go(-1);</script>";
exit;

}

//fin de la validacion del email