Foros del Web » Programando para Internet » Javascript »

Validar fecha (dd/mm/aaaa) en un input

Estas en el tema de Validar fecha (dd/mm/aaaa) en un input en el foro de Javascript en Foros del Web. Hola a todos que tengan un buen dia. Tengo una pregunta, como puedo validar un campo donde voy a poner una fecha el problema es ...
  #1 (permalink)  
Antiguo 27/09/2011, 10:07
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 13 años, 7 meses
Puntos: 1
Validar fecha (dd/mm/aaaa) en un input

Hola a todos que tengan un buen dia. Tengo una pregunta, como puedo validar un campo donde voy a poner una fecha

el problema es que pueden poner fechas que no son reales por ejemplo 50/12/2010 o 02/15/2011

quisiera saber como hacer que valide la feche que se ingresa y al salir del campo que me mande un mensaje si la fecha no es valida

he buscado una solución en el foro pero todas las que he encontrado tienen 3 campos para la fecha y yo lo quiero en uno solo, también he encontrado la solución de poner un calendario y tampoco me sirve necesariamente lo tengo que tener en un solo campo

de antemano les doy las gracias y espero que me puedan ayudar

gracias
  #2 (permalink)  
Antiguo 27/09/2011, 10:38
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Validar fecha (dd/mm/aaaa) en un input

pasa a revisar este link estoy seguro que te servirá

-> clic aquí
  #3 (permalink)  
Antiguo 27/09/2011, 11:00
Avatar de acasaverde  
Fecha de Ingreso: septiembre-2011
Ubicación: Lima, Peru, Peru
Mensajes: 36
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Validar fecha (dd/mm/aaaa) en un input

Ola que tal disculpa habras validado una caja de texto para que su valor no se repita en otra caja..?
  #4 (permalink)  
Antiguo 28/09/2011, 18:07
Avatar de jrevilla  
Fecha de Ingreso: septiembre-2011
Ubicación: Lima, Peru, Peru
Mensajes: 51
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Validar fecha (dd/mm/aaaa) en un input

aver..... si no me equivoco, tienes un input Text y alli quieres escribir una fecha en formato dd/mm/yyyy , pero que al escribir una fecha con ese formato, sea un dia q exista cierto??.... prueba con este codigo =) ...

Código Javascript:
Ver original
  1. <HTML>
  2. <body>
  3. <FORM>
  4. <input name="fecha" type="text" size="10" maxlength="10" onKeyUp = "this.value=formateafecha(this.value);">
  5. </FORM>
  6. <SCRIPT>
  7. function IsNumeric(valor)
  8. {
  9. var log=valor.length; var sw="S";
  10. for (x=0; x<log; x++)
  11. { v1=valor.substr(x,1);
  12. v2 = parseInt(v1);
  13. //Compruebo si es un valor numérico
  14. if (isNaN(v2)) { sw= "N";}
  15. }
  16. if (sw=="S") {return true;} else {return false; }
  17. }
  18. var primerslap=false;
  19. var segundoslap=false;
  20. function formateafecha(fecha)
  21. {
  22. var long = fecha.length;
  23. var dia;
  24. var mes;
  25. var ano;
  26. if ((long>=2) && (primerslap==false)) { dia=fecha.substr(0,2);
  27. if ((IsNumeric(dia)==true) && (dia<=31) && (dia!="00")) { fecha=fecha.substr(0,2)+"/"+fecha.substr(3,7); primerslap=true; }
  28. else { fecha=""; primerslap=false;}
  29. }
  30. else
  31. { dia=fecha.substr(0,1);
  32. if (IsNumeric(dia)==false)
  33. {fecha="";}
  34. if ((long<=2) && (primerslap=true)) {fecha=fecha.substr(0,1); primerslap=false; }
  35. }
  36. if ((long>=5) && (segundoslap==false))
  37. { mes=fecha.substr(3,2);
  38. if ((IsNumeric(mes)==true) &&(mes<=12) && (mes!="00")) { fecha=fecha.substr(0,5)+"/"+fecha.substr(6,4); segundoslap=true; }
  39. else { fecha=fecha.substr(0,3);; segundoslap=false;}
  40. }
  41. else { if ((long<=5) && (segundoslap=true)) { fecha=fecha.substr(0,4); segundoslap=false; } }
  42. if (long>=7)
  43. { ano=fecha.substr(6,4);
  44. if (IsNumeric(ano)==false) { fecha=fecha.substr(0,6); }
  45. else { if (long==10){ if ((ano==0) || (ano<1900) || (ano>2100)) { fecha=fecha.substr(0,6); } } }
  46. }
  47. if (long>=10)
  48. {
  49. fecha=fecha.substr(0,10);
  50. dia=fecha.substr(0,2);
  51. mes=fecha.substr(3,2);
  52. ano=fecha.substr(6,4);
  53. // Año no viciesto y es febrero y el dia es mayor a 28
  54. if ( (ano%4 != 0) && (mes ==02) && (dia > 28) ) { fecha=fecha.substr(0,2)+"/"; }
  55. }
  56. return (fecha);
  57. }
  58. </SCRIPT>
  59. </body>
  60. </html>


espero haberte ayudado =)

Última edición por jrevilla; 28/09/2011 a las 18:09 Razón: falto terminar el post
  #5 (permalink)  
Antiguo 22/05/2015, 07:24
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Validar fecha (dd/mm/aaaa) en un input

hola soy nuevo en esto y keria preguntar como puedo validar una fecha que sea real y en formato yyyy/MM/dd
  #6 (permalink)  
Antiguo 22/05/2015, 09:29
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Validar fecha (dd/mm/aaaa) en un input

Hola @fmorales808 bienvenido al foro.

Para empezar te recomendamos que nunca pero nunca bajo ninguna circunstancia publiques tu duda en el tema que inicio otro usuario, es de mal gusto, por mucho que se le paresca a tu duda.

En segunda te sugerimos y hasta cierto punto exigimos que revises la fecha de los temas antes de comentar, incluso en la parte de abajo aparece un cartel rojo cuando el tema es muy viejo.

y tercera.... respondiendo a tu pregunta, eso se hace con expresiones regulares, puedes usar la funcion preg_match de php y una expresión regular para validar esto.
  #7 (permalink)  
Antiguo 22/05/2015, 09:55
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Validar fecha (dd/mm/aaaa) en un input

Con HTML5 ya no es necesario hacer ese tipo de validaciones.
  #8 (permalink)  
Antiguo 22/05/2015, 14:17
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Validar fecha (dd/mm/aaaa) en un input

Sin duda el input date de HTML5 sera una gran herramienta en un futuro, pero de momento yo desaconsejo su uso...

De nada me sirve un input para fecha que valida y todo, si no tiene soporte ni siquiera en las ultimas versiones de los navegadores, ni se hable de versiones antiguas.

http://caniuse.com/#search=input-date

y por no dejar acabo de hacer la prueba con mi buen firefox
  #9 (permalink)  
Antiguo 23/05/2015, 07:22
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Validar fecha (dd/mm/aaaa) en un input

No hay problema en usarlo, con Modrnizr o una librería parecida puedes hacer un fallback que muestre un datepicker en JS en caso de que no lo soporte nativamente.
  #10 (permalink)  
Antiguo 23/05/2015, 11:57
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Validar fecha (dd/mm/aaaa) en un input

A día de hoy aún hay que usar máscara. En la web encontraras cientos de ejemplos
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: campos, fecha, input
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:09.