Foros del Web » Programando para Internet » Javascript »

Validar edad de manera sencilla

Estas en el tema de Validar edad de manera sencilla en el foro de Javascript en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código javascript : Ver original Hola amigos.   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...
  #1 (permalink)  
Antiguo 20/10/2009, 11:04
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Validar edad de manera sencilla

Código javascript:
Ver original
  1. Hola amigos.
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>Documento sin t&iacute;tulo</title>
  8. <script type="text/javascript">
  9. function entrar(){
  10. var preg= prompt("favor introduzca año de nacimiento","");
  11. var calculo= 2009-preg;
  12. var edad=18;
  13.  
  14. if(calculo>=edad && preg!=""){
  15.     alert("usted es mayor");
  16. }else{
  17. alert("no puede pasar");
  18. }
  19.  
  20. }
  21. </script>
  22. </head>
  23.  
  24. <body onload="entrar();">
  25. </body>
  26. </html>

Mi intencion es solo hacer un filtrillo para corroborar la edad de un supuesto usuario. No pretendo que sea un super verificador, pero que al menos calcule las edades y las de como validas si es mayor de edad.

El codigo que tengo arriba funciona bien, pero tiene un pequeño defectito que no hallo como solucionar.

Si introduzco un calculo que dara como menor, me tira un mensaje de error, si el calculo sale valido, me tira que es mayor.

Hasta aca sin drama, el problema es que el PROMPT tiene campos de ACEPTAR y CANCELAR... si le doy ACEPTAR (o sea true) o le doy enter, sin llenar el campo del PROMPT me sale el error, sin dramas, pero si le doy CANCELAR, me valida la entrada.

Si bien el usuario no siempre sabra esto, al darle cancelar me dara como valido, y lo que quiero es que solo valide cuando:

* Se introduzca un numero cuyo calculo de mayor o igual a 18 HECHO

QUe no de valido cuando:

* No se introduzca ningun elemento HECHO
* Se presione ENTER o ACEPTAR sin rellenar el campoHECHO
* El calculo no coincida con 18 HECHO
* CUando se pulse cancelar ESTE ES EL PROBLEMA

Alguna ayuda
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #2 (permalink)  
Antiguo 20/10/2009, 11:12
Avatar de netzky  
Fecha de Ingreso: mayo-2007
Mensajes: 56
Antigüedad: 17 años
Puntos: 1
Respuesta: Validar edad de manera sencilla

Aqui te va tu HTML corregido

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<script type="text/javascript">
function entrar(){
var preg= prompt("favor introduzca año de nacimiento","");
var calculo= 2009-preg;
var edad=18;


if(calculo >= edad && preg != "" && preg != null){
    alert("usted es mayor");
}else{
	alert("no puede pasar");
}
 
}
</script>
</head>
 
<body onload="entrar();">
</body>
</html> 
OBSERVACION: el prompt regresa NULL si el boton cancelar fue pulsado...

Espero sea de utilidad
__________________
Mess With The Best and Die Like The Rest
  #3 (permalink)  
Antiguo 20/10/2009, 11:14
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar edad de manera sencilla

Hola

Quizás esto te ayude. Primero validas si es nulo o vacío

if (preg == null || preg =='')

Ahora las demás validaciones

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 20/10/2009, 11:17
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Validar edad de manera sencilla

muchas, pero muchas gracias... la verdad lo estaba haciendo con

Código javascript:
Ver original
  1. preg!= false;

jajaja.. ni se me habria ocurrido tan rapido esa variable. Probaré con ambas opciones, a ver como actua.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
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:24.