Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/01/2006, 10:01
Avatar de calavera
calavera
 
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 18 años, 4 meses
Puntos: 0
Validar Fecha

HOLA A TODOS

MI PEGUNTAS ES COMO PUEDO VALIDAR LA FECHA CON LOS SGTES DATOS
ESTE ES MI SCRIPT EN EL CUAL VALIDO DISTINTOS DATOS, PERO KIERO VALIDAR LA FECHA, CON UN SCRIPT KE ESTA A CONTINUACION DE ESTO:


Código HTML:
<script language="JavaScript">
function validar(form)
{
var error = "Por favor, antes de enviar el formulario,\ncomplete todos los campos:\n\n";
var a = ""

    if (form.N_Serie.value == "") { a += " Nº de Serie\n"; }
   /* if (form.Tipo.value == "") { a += " Tipo\n"; }
    if (form.Marca.value == "") { a += " Marca\n"; }*/
    /*if (form.Modelo.value == "") { a += " Modelo\n"; }*/
    if (form.Fecha_Compra.value == "") { a += " Fecha de Compra\n"; }
    if (form.N_Factura.value == "") { a += " Nº de Factura\n"; }
	if (form.Rut_Proveedor.value == "") { a += " Rut del Proveedor\n"; }
/*    if (form.Rut_Asignado.value == "") { a += " Rut Asignado\n"; }*/
    if (form.Descripcion.value == "") { a += " Descripcion\n"; }

    if (a != "") { alert(error + a); return true; }

form.submit()
}

</script> 
ESTE SCRIPT LO KIERO PONER PARA VALIDAR LA FECHA COMO PUEDO HACERLO, O SI ALGUIEN ME AYUDA A ENCONTRAR O MAS SENCILLO, ESTO SE VALIDA EN UN CAMPO TEXTO.

Código HTML:
function esDigito(sChr){
    var sCod = sChr.charCodeAt(0);
    return ((sCod > 47) && (sCod < 58));
   }

   function valSep(oTxt){
    var bOk = false;
    var sep1 = oTxt.value.charAt(2);
    var sep2 = oTxt.value.charAt(5);
    bOk = bOk || ((sep1 == "-") && (sep2 == "-"));
    bOk = bOk || ((sep1 == "/") && (sep2 == "/"));
    return bOk;
   }

   function finMes(oTxt){
    var nMes = parseInt(oTxt.value.substr(3, 2), 10);
    var nAno = parseInt(oTxt.value.substr(6), 10);
    var nRes = 0;
    switch (nMes){
     case 1: nRes = 31; break;
     case 2: nRes = 28; break;
     case 3: nRes = 31; break;
     case 4: nRes = 30; break;
     case 5: nRes = 31; break;
     case 6: nRes = 30; break;
     case 7: nRes = 31; break;
     case 8: nRes = 31; break;
     case 9: nRes = 30; break;
     case 10: nRes = 31; break;
     case 11: nRes = 30; break;
     case 12: nRes = 31; break;
    }
    return nRes + (((nMes == 2) && (nAno % 4) == 0)? 1: 0);
   }

   function valDia(oTxt){
    var bOk = false;
    var nDia = parseInt(oTxt.value.substr(0, 2), 10);
    bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
    return bOk;
   }

   function valMes(oTxt){
    var bOk = false;
    var nMes = parseInt(oTxt.value.substr(3, 2), 10);
    bOk = bOk || ((nMes >= 1) && (nMes <= 12));
    return bOk;
   }

   function valAno(oTxt){
    var bOk = true;
    var nAno = oTxt.value.substr(6);
    bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
    if (bOk){
     for (var i = 0; i < nAno.length; i++){
      bOk = bOk && esDigito(nAno.charAt(i));
     }
    }
    return bOk;
   }

   function valFecha(oTxt){
    var bOk = true;
    if (oTxt.value != ""){
     bOk = bOk && (valAno(oTxt));
     bOk = bOk && (valMes(oTxt));
     bOk = bOk && (valDia(oTxt));
     bOk = bOk && (valSep(oTxt));
     if (!bOk){
      alert("Fecha inválida");
      oTxt.value = "";
      oTxt.focus();
     } else alert("Fecha correcta");
    }
   }

<form name="Ingresa" action="Procesar.php" method="post" >
<table width="576" border="0" cellpadding="0" cellspacing="0" class="checkbox">
<!--DWLayoutTable-->
<tr>
<td width="46" height="19">
<td width="35">
<td width="37">&nbsp;</td>
<td width="83">&nbsp;</td>
<td width="96">&nbsp;</td>
<td width="24">&nbsp;</td>
<td width="37">&nbsp;</td>
<td width="25">&nbsp;</td>
<td width="58">&nbsp;</td>
<td width="119">&nbsp;</td>
<td width="16">&nbsp;</td>
<!--DWLayoutTable-->
<tr>
<td height="29" colspan="10" valign="top"><div align="center">
<table width="100%" border="1">
<!--DWLayoutTable-->
<tr>
<td width="100%" height="20" valign="top" bgcolor="#FFCC33"> <div align="center"><font color="#666666" size="3" face="Courier New, Courier, mono"><strong>.:<font color="#000000">EQUIPOS</font>:.</strong></font></div></td>
</tr>
</table>
<font color="#666666" size="4"></font></div>
<td>&nbsp;</td>
<tr>
<td height="21" colspan="10" valign="top"><hr></td>
<td></td>
</tr>
<tr>
<td height="2"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="12" colspan="2" valign="top"><font size="1">N&ordm; de Serie:</font></td>
<td colspan="2" rowspan="3" valign="top"> <input type="text" name="N_Serie">
</td>
<td colspan="2" valign="top"><font size="1">Fecha de Compra:</font></td>
<td colspan="3" rowspan="3" valign="top"> <input name="Fecha_Compra" type="text" ></td>
<td colspan="2" valign="top"><font color="#CC0033" size="1">Ej: (2000-11-05)</font></td>
</tr>
<tr>
<td height="4"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="2" rowspan="2" valign="top"><font size="1">Tipo:</font></td>
<td height="1"></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="5" valign="top"> <select name="Tipo" id="select">
</select></td>
<td height="11"></td>
<td rowspan="2" valign="top"><font size="1">N&ordm; de Factura:</font></td>
<td></td>
<td colspan="3" rowspan="4" valign="top"> <input type="text" name="N_Factura"></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="1"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="4"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="1"></td>
<td></td>
<td></td>
<td colspan="2" rowspan="3" valign="top"><font size="1">Rut del Proveedor:</font></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="3"></td>
<td></td>
<td></td>
<td colspan="3" rowspan="4" valign="top"> <input name="Rut_Proveedor" type="text" size="0" maxlength="10"></td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="2" valign="top"><font size="1">Marca:</font></td>
<td height="8"></td>
<td rowspan="4" valign="top"> <select name="Marca" id="Marca">
</select></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="4"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="2"></td>
<td></td>
<td></td>
<td rowspan="4" valign="top"><font size="1">Rut Asignado:</font></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="6"></td>
<td></td>
<td></td>
<td></td>
<td rowspan="4" valign="top"> <select name="Rut_Asignado" id="Rut_Asignado">
</select></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="2"></td>
<td></td>
<td rowspan="4" valign="top"> <select name="Modelo" id="Modelo">
</select></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="2" rowspan="2" valign="top"><font size="1">Modelo:</font></td>
<td height="4"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="8"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="6"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="18"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="12" colspan="2" valign="top"><font size="1">Descripci&oacute;n:</font></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="19">&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="137"></td>
<td></td>
<td colspan="6" rowspan="2"> <textarea name="Descripcion" cols="40" rows="10" wrap="PHYSICAL"></textarea>
<input type="button" name="Submit" value="Ingresar" onClick="validar(this.form)">
</td>
<td>
<td>
<td> </tr>
</table>
</form>