Foros del Web » Programando para Internet » Javascript »

Script validación de fechas

Estas en el tema de Script validación de fechas en el foro de Javascript en Foros del Web. Hola compañeros. Hay alguien que tenga algún script para poder validar fechas "06/01/2010" He encontrado unos cuantos pero llevo toda la mañana con ellos y ...
  #1 (permalink)  
Antiguo 06/01/2010, 08:45
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Script validación de fechas

Hola compañeros.

Hay alguien que tenga algún script para poder validar fechas "06/01/2010"

He encontrado unos cuantos pero llevo toda la mañana con ellos y no logro hacer funcionar ninguno bien.

Muchas gracias.
  #2 (permalink)  
Antiguo 06/01/2010, 08:53
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Script validación de fechas

usa expresiones regulares, o para ahorrarte el proceso es preferible usar jcalendar, es una rápida opcion para ingresar fechas y alivio para los programadores
  #3 (permalink)  
Antiguo 06/01/2010, 08:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Script validación de fechas

Hola:

Otra opción: Fechas, y recuerda que validaciones javascript son "a medias"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 06/01/2010, 16:12
 
Fecha de Ingreso: noviembre-2008
Ubicación: Guadalajara, Concepcion de Buenos Aires, Mexico
Mensajes: 60
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Script validación de fechas

exacto con expresiones regulares:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.   fechavalida = new RegExp(/^([0][1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(\d{4})$/);
  3.   fecha = document.cuentas.fecha.value;
  4. if (fechavalida.test(fecha) ) {
  5. alert('fecha corecta');
  6. }else {
  7. alert('fecha incorrecta');
  8. }
  9.  
  10. </script>

parece que esta linea te servira

Última edición por manyjose; 07/01/2010 a las 12:14
  #5 (permalink)  
Antiguo 07/01/2010, 10:04
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Script validación de fechas

Hola buenas tardes.

Gracias a todos por responderme.

Ya he puesto el menu calendario y me funciona bien, el unico problema que tengo es que no soy capaz de hacer funcionar el último código que me ha pasado manyjose.

El código que tengo en estos momentos para validar el formulario es el siguiente:

Código PHP:
function validar(){
    
//Comprueba que el campo fecha no está vacio
    
if(document.cuentas.fecha.value==""){
        
alert("No se puede dejar la fecha en blanco");
        
document.cuentas.fecha.focus();
        return 
false;
        }

    
//Comprueba que el campo concepto no está vacio
    
if(document.cuentas.concepto.value==""){
        
alert("No se puede dejar el concepto en blanco");
        
document.cuentas.concepto.focus();
        return 
false;
        }

    
//Comprobar si el campo DEBE es numerico
    
if(!isNaN(document.cuentas.debe.value)){
        }else{
            
alert("El campo DEBE no es un dato numerico");
            
document.cuentas.debe.focus();
            return 
false;
            }

//Comprobar si el campo HABER es numerico
    
if(!isNaN(document.cuentas.haber.value)){
        }else{
            
alert("El campo HABER no es un dato numerico");
            
document.cuentas.haber.focus();
            return 
false;
            }


Lo únido que me faltaría implementarlo con el validado de fecha dd-mm-aaaa pero no tengo narices a hacerlo funcionar.

Alguien me puede decir como hacer para poner el otro código aqui?

Muchas gracias
  #6 (permalink)  
Antiguo 07/01/2010, 10:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Script validación de fechas

Del código de manyjose, lo único que necesitas modificar es el lugar de donde obtienes la fecha (en este caso sería document.cuentas.fecha.value) y que al producir el error de "fecha incorrecta" la función devuelva falso (return false)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 07/01/2010, 12:06
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Script validación de fechas

Hola David gracias por ayudar.

ahora el problema es que ponga la fecha que ponga siempre me dice que es incorrecta, sepongo que será el código que no lo tengo bien armado

Código PHP:
function validar(){
    
//Comprueba que el campo fecha no está vacio
    
if(document.cuentas.fecha.value==""){
        
alert("No se puede dejar la fecha en blanco");
        
document.cuentas.fecha.focus();
        return 
false;
        }
        
    if(
document.cuentas.fecha.value){
        
fechavalida = new RegExp ("^([0][1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(\d{4})$");
        
fecha ""//no se por cual método llamaras a la fecha pero esto tiene que tomar el valor a comprobar
        
if (fechavalida.test(fecha) ) {
            
alert('fecha corecta');
            }else {
                
alert('fecha incorrecta');
                return 
false;
            }
        } 
El formulario se llama "cuentas" y el campo de fecha "fecha"

cuando termine con el curso de PHP en el que estoy el proximo que va a caer es Javascript esto de no saber es desesperante.

Muchas gracias.
  #8 (permalink)  
Antiguo 07/01/2010, 12:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Script validación de fechas

Cuando me refería al "lugar de donde obtienes la fecha", me refería a:
Código Javascript:
Ver original
  1. fecha = "";
Debe ser:
Código Javascript:
Ver original
  1. fecha = document.cuentas.fecha.value;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 07/01/2010, 12:17
 
Fecha de Ingreso: noviembre-2008
Ubicación: Guadalajara, Concepcion de Buenos Aires, Mexico
Mensajes: 60
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Script validación de fechas

quedaria asi:

Código Javascript:
Ver original
  1. fechavalida = new RegExp(/^([0][1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(\d{4})$/);
  2. fecha = document.cuentas.fecha.value;
  3.  
  4. function validar(){
  5.     //Comprueba que el campo fecha no está vacio
  6.     if(document.cuentas.fecha.value=="" || fechavalida.test(fecha)){
  7.         alert("El formato de fecha introducido no es correcto: 12/09/1990");
  8.         document.cuentas.fecha.focus();
  9.         return false;
  10.         }
  11.  
  12.     //Comprueba que el campo concepto no está vacio
  13.     if(document.cuentas.concepto.value==""){
  14.         alert("No se puede dejar el concepto en blanco");
  15.         document.cuentas.concepto.focus();
  16.         return false;
  17.         }
  18.  
  19.     //Comprobar si el campo DEBE es numerico
  20.     if(!isNaN(document.cuentas.debe.value)){
  21.         }else{
  22.             alert("El campo DEBE no es un dato numerico");
  23.             document.cuentas.debe.focus();
  24.             return false;
  25.             }
  26.  
  27. //Comprobar si el campo HABER es numerico
  28.     if(!isNaN(document.cuentas.haber.value)){
  29.         }else{
  30.             alert("El campo HABER no es un dato numerico");
  31.             document.cuentas.haber.focus();
  32.             return false;
  33.             }
  34.  
  35. }
  #10 (permalink)  
Antiguo 07/01/2010, 12:22
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Script validación de fechas

Si me ha quedado claro el código trendría que quedar de la siguiente manera?

Código PHP:
    if(document.cuentas.fecha.value){
        
fechavalida = new RegExp ("^([0][1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(\d{4})$");
        
fecha document.cuentas.fecha.value//no se por cual método llamaras a la fecha pero esto tiene que tomar el valor a comprobar
        
if (fechavalida.test(fecha) ) {
            
alert('fecha corecta');
            }else {
                
alert('fecha incorrecta');
                return 
false;
            }
        } 
Me sigue diciendo que la fecha es incorrecta

07/01/2010 - 07-01-2010 - 2010/01/07 - 2010-01-07

Son las cuatro maneras que he probado a poner las fechas sigue dando error

he cambiado if (fechavalida.text(fecha) ) {
por if (fechavalida.cuentas(fecha) ) {

y ahora ponga lo que ponga me introduce la fecha

si la fecha es correcta se guarda bien pero si la fecha es incorrecta se guarda 01/01/1970.

Gracias
  #11 (permalink)  
Antiguo 07/01/2010, 12:33
 
Fecha de Ingreso: noviembre-2008
Ubicación: Guadalajara, Concepcion de Buenos Aires, Mexico
Mensajes: 60
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Script validación de fechas

es que tu codigo esta diferente:

Código Javascript:
Ver original
  1. if(document.cuentas.fecha.value){
  2.         fechavalida = new RegExp (/^([0][1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(\d{4})$/);
  3.         fecha = document.cuentas.fecha.value;
  4.  
  5.         if (fechavalida.test(fecha) ) {
  6.             alert('fecha corecta');
  7.             }else {
  8.                 alert('fecha incorrecta');
  9.                 return false;
  10.             }
  11.         }

siempre tiene que ser test ehh

la linea que esta diferente es:

Código Javascript:
Ver original
  1. fechavalida = new RegExp (/^([0][1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(\d{4})$/);


calalo y me dices
  #12 (permalink)  
Antiguo 07/01/2010, 12:35
 
Fecha de Ingreso: noviembre-2008
Ubicación: Guadalajara, Concepcion de Buenos Aires, Mexico
Mensajes: 60
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Script validación de fechas

deverias de dejar tu codigo como antes mira asi quedaria:

Código Javascript:
Ver original
  1. fechavalida = new RegExp(/^([0][1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(\d{4})$/);
  2.  
  3. function validar(){
  4. fecha = document.cuentas.fecha.value;
  5.     //Comprueba que el campo fecha no está vacio
  6.     if(document.cuentas.fecha.value=="" || fechavalida.test(fecha)){
  7.         alert("El formato de fecha introducido no es correcto: 12/09/1990");
  8.         document.cuentas.fecha.focus();
  9.         return false;
  10.         }
  11.  
  12.     //Comprueba que el campo concepto no está vacio
  13.     if(document.cuentas.concepto.value==""){
  14.         alert("No se puede dejar el concepto en blanco");
  15.         document.cuentas.concepto.focus();
  16.         return false;
  17.         }
  18.  
  19.     //Comprobar si el campo DEBE es numerico
  20.     if(!isNaN(document.cuentas.debe.value)){
  21.         }else{
  22.             alert("El campo DEBE no es un dato numerico");
  23.             document.cuentas.debe.focus();
  24.             return false;
  25.             }
  26.  
  27. //Comprobar si el campo HABER es numerico
  28.     if(!isNaN(document.cuentas.haber.value)){
  29.         }else{
  30.             alert("El campo HABER no es un dato numerico");
  31.             document.cuentas.haber.focus();
  32.             return false;
  33.             }
  34.  
  35. }

Última edición por manyjose; 07/01/2010 a las 13:06
  #13 (permalink)  
Antiguo 07/01/2010, 12:54
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Script validación de fechas

Hola Manyjose gracias nuevamente

ponga lo que ponga en el campo fecha no me da error y se graba en la bbdd.

Como anteriormente si la fecha es correcta se graba bien y si es incorrecta incluso poniendo "sdgfsdgfds" la fecha que se graba es "01/01/1970"

Siento molestar tanto.
  #14 (permalink)  
Antiguo 07/01/2010, 13:08
 
Fecha de Ingreso: noviembre-2008
Ubicación: Guadalajara, Concepcion de Buenos Aires, Mexico
Mensajes: 60
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Script validación de fechas

ya vi donde esta el error:

olvide meter la linea: "fecha = document.cuentas.fecha.value;" dentro de la funcion ya quedara asi, ya tiene que funcionar

Código Javascript:
Ver original
  1. fechavalida = new RegExp(/^([0][1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(\d{4})$/);
  2.  
  3. function validar(){
  4.  
  5. fecha = document.cuentas.fecha.value;
  6.  
  7.     //Comprueba que el campo fecha no está vacio
  8.     if(document.cuentas.fecha.value=="" || fechavalida.test(fecha)){
  9.         alert("El formato de fecha introducido no es correcto: 12/09/1990");
  10.         document.cuentas.fecha.focus();
  11.         return false;
  12.         }
  13.  
  14.     //Comprueba que el campo concepto no está vacio
  15.     if(document.cuentas.concepto.value==""){
  16.         alert("No se puede dejar el concepto en blanco");
  17.         document.cuentas.concepto.focus();
  18.         return false;
  19.         }
  20.  
  21.     //Comprobar si el campo DEBE es numerico
  22.     if(!isNaN(document.cuentas.debe.value)){
  23.         }else{
  24.             alert("El campo DEBE no es un dato numerico");
  25.             document.cuentas.debe.focus();
  26.             return false;
  27.             }
  28.  
  29. //Comprobar si el campo HABER es numerico
  30.     if(!isNaN(document.cuentas.haber.value)){
  31.         }else{
  32.             alert("El campo HABER no es un dato numerico");
  33.             document.cuentas.haber.focus();
  34.             return false;
  35.             }
  36.  
  37. }

Etiquetas: fechas, validar
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 13:23.