Foros del Web » Programando para Internet » Javascript »

Validaciones

Estas en el tema de Validaciones en el foro de Javascript en Foros del Web. Necesito un script que me valide dos campos de texto y uno de e-mail. Que los campos de texto no esten vacios y que el ...
  #1 (permalink)  
Antiguo 24/01/2003, 10:22
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Pregunta Validaciones

Necesito un script que me valide dos campos de texto y uno de e-mail.


Que los campos de texto no esten vacios y que el email lo sea (supongo que con el de la @)


Gracias
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #2 (permalink)  
Antiguo 24/01/2003, 10:54
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola ShadowII

- La validación de una dirección de correo la tienes en el FAQ-85.
- La validación de campos no vacíos la tienes en el FAQ-15.

Cualquier aclaratoria que necesites, por favor avísanos.

Saludos.
  #3 (permalink)  
Antiguo 24/01/2003, 16:21
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Si, ya las he leido y probado por separado.

Pero no atino a unir 2 text y el correo
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #4 (permalink)  
Antiguo 24/01/2003, 16:48
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Pruébalo asi ShadowII:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
noVacio() {
    var 
i;
    var 
parseInt(document.frm.cantidad.value);
    var 
bError false;

    for (
0ni++){
     
bError bError || (eval("document.frm.elemento" ".value == ''"));
     if (
bError){
      
alert("Campo inválido");
      eval(
"document.frm.elemento" ".focus()");
      break;
     }
    }
    return !
bError;
   }

   function 
validaEmail(email){
    var 
re  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!
re.test(email)){
     
alert ("Dirección de email inválida");
     return 
false;
    }
    return 
true;
   }

   function 
valida(){
    var 
bRes true;
    
bRes bRes && noVacio();
    
bRes bRes && validaEmail(document.frm.email.value);
    return 
bRes;
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   Texto:<input type="text" name="elemento0"><br>
   Texto:<input type="text" name="elemento1"><br>
   Email:<input type="text" name="email"><br>
   <input type="hidden" name="cantidad" value="2">
   <input type="button" name="enviar" value="enviar" onclick="valida()">
  </form>
 </body>
</html> 
Saludos.
  #5 (permalink)  
Antiguo 24/01/2003, 20:21
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola ShadowII.

Te retorno tu código adaptado a lo que necesitas:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
noVacio() {
    var 
bError true;
    if (
document.form1.nombre.value == ''){
     
alert("Campo inválido");
     
document.form1.nombre.focus();
    } else 
     if (
document.form1.login.value == ''){
      
alert("Campo inválido");
      
document.form1.login.focus();
     } else 
bError false;
    return !
bError;
   }

   function 
validaEmail(email){
    var 
re  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!
re.test(email)){
     
alert ("Dirección de email inválida");
     return 
false;
    }
    return 
true;
   }

   function 
valida(){
    var 
bRes true;
    
bRes bRes && noVacio();
    
bRes bRes && validaEmail(document.form1.correo.value);
    return 
bRes;
   }
  
</script>
 </head>
 <body>
  <form name="form1" method="post" enctype="text/plain" action="mailto:[email protected]" onsubmit="return valida()">
  <table width="326" border="0" cellpadding="4" cellspacing="2"> 
   <tr valign="top"> 
    <td width="314" height="24" align="center" valign="middle" bgcolor="#CCCCCC"> 
     <strong>
      <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
       Hoja de registro
      </font>
     </strong>
    </td>
   </tr>
   <tr valign="top"> 
    <td height="27" align="center" valign="middle">
     <font size="1" face="Verdana, Arial, Helvetica, sans-serif">
      Por favor, rellena todos los campos, estos son obligatorios
     </font>
    </td>
   </tr>
   <tr valign="top"> 
    <td height="169" valign="top">
     <p>
      <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
       <strong>
        Nombre:
       </strong>
      </font>
      <br>
      <input type="text" name="nombre" size="50">
     </p>
     <p>
      <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
       <strong>
        Email:
       </strong>
      </font>
      <br>
      <input type="text" name="correo" size="50">
     </p>
     <p>
      <strong>
       <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
        Nombre de usuario:
       </font>
      </strong>
      <strong>
       <font color="#990000" size="2" face="Verdana, Arial, Helvetica, sans-serif">
        (Este será tu login)
       </font>
      </strong>
      <br>
      <input type="text" name="login" size="50">
     </p>
    </tr>
    <tr valign="top"> 
     <td height="32" align="center" valign="middle"> 
      <input type="submit" value="Enviar"> 
     </td>
    </tr>
   </table>
   Observaciones:<br>
   El atributo name de los elementos input sirve para identificar el elemento.<br>
   Debe contener un nombre sin espácios y que comience con un caracter no numérico.<br>
   He reemplazado los atributos name que tenías por nombre, correo y login.
  </form> 
 </body>
</html> 
Espero que te resuelva completamente. De no ser asi, no dudes en volver a preguntar que con gusto te volveré a responder (si tengo la respuesta).

Saludos.
  #6 (permalink)  
Antiguo 25/01/2003, 13:13
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Cita:
De no ser asi, no dudes en volver a preguntar que con gusto te volveré a responder (si tengo la respuesta).

Hasta ahora no he visto una "no respuesta" de tu parte

Gracias Kaopectate, funciona perfectamente.

Salud!!
__________________
Si lo llego a saber...!!!

Corporación Malaestética
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 08:34.