Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2006, 07:14
heman25
 
Fecha de Ingreso: junio-2006
Mensajes: 80
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta necesito poder validar esta fecha

Hola foreros. Actualamente estoy utilizando esta funcion para validar los datos ingresados en un campo de texto con formato dd/mm/aaaa. De esta manera, solo se ingresan fechas. Se valida a medida que se completa por el evento onkeypress. Lo que no pude lograr es, que si hay un valor erroneo, ademas de mostrar el cartel de alerta, que borre los datos del campo, y por otro lado, cuando ingrese 8 caracteres( o sea la fecha completa y bien escrita) valide si la fecha es menor o igual a hoy. De ser mayor a hoy, no quiero que derive. Disculpen que los moleste con esto, pero mi fuerte es asp, y no estoy muy afinado con js.

aca va la funcion

Código HTML:
function currencyFormat(fld, milSep, decSep, e) { 
    var sep = 0; 
    var key = ''; 
    var i = j = 0; 
    var len = len2 = 0; 
    var strCheck = '0123456789'; 
    var aux = aux2 = ''; 
    var whichCode = (window.Event) ? e.which : e.keyCode; 
    if (whichCode == 13) return true; // Enter 
    key = String.fromCharCode(whichCode); // Get key value from key code 
    if (strCheck.indexOf(key) == -1) return false; // Not a valid key 
    len = fld.value.length; 
    for(i = 0; i < len; i++) 
     if ((fld.value.charAt(i) != decSep)) break; 
    aux = ''; 
    for(; i < len; i++) 
     if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i); 
    aux += key; 
    len = aux.length; 
    if (len == 0) fld.value = ''; 
    if (len == 1) fld.value = aux; 
    if (len == 2){ 
        if (aux>31) 
            [COLOR="red"]window.alert("El dia debe ser inferior a 31"); [/COLOR] //despues de este mensaje me gustaria que  borre los datos del campo
        else 
            fld.value = aux; 
    } 
    if (len > 2 && len < 5) { 
     if (len == 4){ 
        if (aux.substr(len - 2, len)>12) 
            [COLOR="Red"]window.alert("El mes debe ser inferior a 12"); [/COLOR] //despues de este mensaje me gustaria que  borre los datos del campo
			
        else 
            fld.value = aux; 
    } 
     aux2 = ''; 
     for (j = 0, i = len - 3; i >= 0; i--) { 
      if (j == 2) { 
       aux2 += milSep; 
       j = 0; 
      } 
      aux2 += aux.charAt(i); 
      j++; 
     } 
     fld.value = ''; 
     len2 = aux2.length; 
     for (i = len2 - 1; i >= 0; i--) 
      fld.value += aux2.charAt(i); 
     fld.value += decSep + aux.substr(len - 2, len); 
    } 
    if (len > 4 && len < 9) { 
     aux2 = ''; 
     for (j = 0, i = len - 3; i >= 0; i--) { 
      if (j == 2 && i <= len -5) { 
       aux2 += milSep; 
       j = 0; 
      } 
      aux2 += aux.charAt(i); 
      j++; 
     } 
     fld.value = ''; 
     len2 = aux2.length; 
     for (i = len2 - 1; i >= 0; i--) 
      fld.value += aux2.charAt(i); 
     fld.value += aux.substr(len - 2, len); 
    } 
[COLOR="red"]	if (len ==8){
	var pagina="abm_cheque.asp?fechaok="+fld.value;
	document.location=pagina;
	}[/COLOR]// en ese if redirecciono con el valor de la fecha ok. Quisiera validar si la fecha es mayor a hoy, de ser asi, alerta y no se ejecuta la redireccion

 return false;

}

muchas gracias de antemano por su ayuda