Foros del Web » Programando para Internet » Javascript »

Validar correo electronico

Estas en el tema de Validar correo electronico en el foro de Javascript en Foros del Web. Hola, Creo lo hago todo bien (aunque es obvio que no, si no, no escribiría este post), pero no consigo que la siguiente función me ...
  #1 (permalink)  
Antiguo 07/02/2011, 11:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 42
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Validar correo electronico

Hola,

Creo lo hago todo bien (aunque es obvio que no, si no, no escribiría este post), pero no consigo que la siguiente función me valide el campo email. Meta lo que meta en el campo de texto me salta el alert.

Código HTML:
<form name="formulario" method="get">
    <fieldset>
        <legend>Datos personales</legend>
        Nombre: <br />
        <input type="text" name="name" />
        <br />
        Apellidos: <br />
        <input type="text" name="apellidos" />
        <br />
        Direcci&oacute;n: <br />
        <input type="text" name="direccion" />
        <br />
        Tel&eacute;fono: <br />
        <input type="text" name="telefono" />
        <br />
        E-mail: <br />
        <input type="text" name="email" />
    </fieldset>
    <fieldset>
        <legend>Datos de la compra</legend>
        Patatas: <input type="checkbox" name="patatas" />&nbsp;(3&euro;/Kg)
        <br />
        ¿Cuantos kilos de patatas desea? <br />
        <input type="text" name="kpatatas" />
        <br />
        Melones: <input type="checkbox" name="melones" />&nbsp;(2&euro;/Kg)
        <br />
        ¿Cuantos kilos de melones desea? <br />
        <input type="text" name="kmelones" />
        <br />
        Sandias: <input type="checkbox" name="sandias" />&nbsp;(1&euro;/Kg)
        <br />
        ¿Cuantos kilos de sandias desea? <br />
        <input type="text" name="ksandias" />
    </fieldset>
    <input type="button" name="calcular" value="Calcular Total" />&nbsp;<input type="button" name="comprar" value="Comprar" onclick="comprobar_personal()" />
    </form> 
Y ahora el codigo javascript:

Código:
function comprobar_personal (){
    var email = formulario.email.value;
    var telefono = formulario.telefono.value;
    var ok;
    ok = true;
    if (formulario.name.value==""){
        alert ("Debe escribir su nombre");
        formulario.name.focus();
        ok=false;
    }
    else if (formulario.apellidos.value==""){
        alert ("Debe escribir sus apellidos");
        formulario.apellidos.focus();
        ok=false;
    }
    else if (formulario.direccion.value==""){
        alert ("Debe escribir su direccion postal");
        formulario.direccion.focus();
        ok=false;
    }
    else if ( !(/^\d{9}$/.test(telefono)) ){
        alert ("Debe escribir un numero de telefono correcto");
        formulario.telefono.focus();
        ok=false;
    }
    else if ( !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3,4})+$/.test(email)) ){
        alert ("Debe escribir un correo electronico correcto");
        formulario.email.focus();
        ok=false;
    }
}
Saludos y gracias de antemano.

Última edición por floyd_23; 07/02/2011 a las 12:26
  #2 (permalink)  
Antiguo 07/02/2011, 13:00
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Validar correo electronico

Creo que es por \w{2,3,4} . Esa expresión regular creo que la usé yo hace tiempo, pero me dijeron que no valía porque entre las dos llaves ({}) puede haber como máximo dos números. Ej:
Cita:
\d{1} // un número
\d{1,} // como mínimo un número
\d{1,3} // de uno a tres números
\d{1,2,3} // no existe
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 07/02/2011, 15:13
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Validar correo electronico

cuantificadores
  #4 (permalink)  
Antiguo 07/02/2011, 15:31
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Validar correo electronico

Cita:
Iniciado por IsaBelM Ver Mensaje
Me gusta más el de la W3Schools, aunque vienen a ser lo mismo.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 07/02/2011, 16:02
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Validar correo electronico

yo soy una devota de w3schools. ambos los tengo en marcadores y cuando linkeo y se da este echo, pues prefiero hacerlo en español. aparte que el de msdn te explica como evitar el molesto greedy
  #6 (permalink)  
Antiguo 08/02/2011, 12:31
 
Fecha de Ingreso: mayo-2010
Mensajes: 42
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Validar correo electronico

Muchas gracias a los dos, ha sido quitar el 3 de la expresion y ya si que funciona.

Mil gracias, saludos.

Etiquetas: correo, electronico
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 18:41.