alguien conoce alguna funcion que verifique si el dato ingresado es fecha valida
ej:
30/02/2002
ke alguien me ayudeeeeeeeeeeeeeeeeee
| ||||
Re: valida fecha Te envio un ejemplo bastante completo que yo utilizo. Pruébalo:
Código:
----------------------------------------------------------------------------------- <html> <head> <script language="JavaScript"> function esDigito(sChr){ var sCod = sChr.charCodeAt(0); return ((sCod > 47) && (sCod < 58)); } function valSep(oTxt){ var bOk = false; bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-")); bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/")); return bOk; } function finMes(oTxt){ var nMes = parseInt(oTxt.value.substr(3, 2), 10); var nRes = 0; switch (nMes){ case 1: nRes = 31; break; case 2: nRes = 29; 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; } 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; } contunua... |
| ||||
Re: valida fecha continuación...........
Código:
Pruébalo y hablamos. 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(); } } } </script> </head> <body> <form name="f1"> <p> Escriba cualquier cosa: <input type="text" size="20" name="xxx"> </p> <p> Escriba una fecha (dd/mm/aaaa): <input type="text" size="10" name="fec" onblur="valFecha(this)"> </p> <p> Escriba cualquier cosa: <input type="text" size="20" name="yyy"> </p> </form> </body> </html> ----------------------------------------------------------------------------------- |
| |||
Re: valida fecha Tenès que utilizar la funciòn isdate() por ej: if isdate(variable_fecha) then response.write "Es un date del tipo fecha" else response.write "el dato no corresponde a una fecha" end if Enrique2 ;) |
| ||||
Re: valida fecha ey amigo Kaopectate: ke keres ke te diga...funciono a la perfeccion, tiene un detallito pero es minimo..te pasaste me sirvio caleta (habia probado el isdate pero tenia problemas)... aprovechando tu sabiduria ahora tengo otra consulta: ingreso fecha de inicio ingreso fecha de termino como valido para que la fecha de inicio (dd/mm/aaaa) sea menor o igual a la feacha de termino. me pasaron un funcion pero funciona ahi no mas :P |
| ||||
Re: valida fecha Pruébalo asi:
Código:
<html> <head> <script language="JavaScript"> function esDigito(sChr){ var sCod = sChr.charCodeAt(0); return ((sCod > 47) && (sCod < 58)); } function valSep(oTxt){ var bOk = false; bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-")); bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/")); return bOk; } function finMes(oTxt){ var nMes = parseInt(oTxt.value.substr(3, 2), 10); var nRes = 0; switch (nMes){ case 1: nRes = 31; break; case 2: nRes = 29; 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; } 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; } continua... |
| ||||
Re: valida fecha ...continuación
Código:
continua... 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)); return bOk; } } function fechaMayorOIgualQue(fec0, fec1){ var bRes = false; var sDia0 = fec0.value.substr(0, 2); var sMes0 = fec0.value.substr(3, 2); var sAno0 = fec0.value.substr(6, 4); var sDia1 = fec1.value.substr(0, 2); var sMes1 = fec1.value.substr(3, 2); var sAno1 = fec1.value.substr(6, 4); if (sAno0 > sAno1) bRes = true; else { if (sAno0 == sAno1){ if (sMes0 > sMes1) bRes = true; else { if (sMes0 == sMes1) if (sDia0 >= sDia1) bRes = true; } } } return bRes; } function valFechas(){ var bOk = false; if (valFecha(document.f1.fec1)){ if (fechaMayorOIgualQue(document.f1.fec1, document.f1.fec0)) bOk = true; } if (!bOk){ alert("Fecha inválida"); document.f1.fec1.focus(); } } function padNmb(nStr, nLen){ var sRes = String(nStr); var sCeros = "0000000000"; return sCeros.substr(0, nLen - sRes.length) + sRes; } function cargaFec0(){ var fecAct = new Date(); var sAno = fecAct.getFullYear(); var sMes = fecAct.getMonth() + 1; var sDia = fecAct.getDate(); document.f1.fec0.value= padNmb(sDia, 2) + "/" + padNmb(sMes, 2) + "/" + padNmb(sAno, 4); } </script> </head> |
| ||||
Re: valida fecha ...continuación
Código:
Suerte. <body> <form name="f1"> <table> <tr> <td align="right"> Fecha inicial (dd/mm/aaaa): </td> <td> <input type="text" size="10" name="fec0" disabled> </td> </tr> <tr> <td align="right"> Fecha final (dd/mm/aaaa): </td> <td> <input type="text" size="10" name="fec1"> </td> </tr> <tr> <td colspan="2" align="center"> <input type="button" name="val" value="Validar" onclick="valFechas()"> </td> </tr> </table> <script language="JavaScript"> cargaFec0(); </script> </form> </body> </html> |
| ||||
Re: valida fecha tamos daos!!!!!! :P :P hice una fusion del 1ro con el 2do codigo y kedo funcionando del 1... todo good....vale...te pasaste me salvaste un par de dias de cabeceo... gracias por tu ayuda...si te puedo ayudar en algo (de preferencia ASP porke de javascript mi aporte es nulo <img src='images/tongue.gif' width=15 height=15 align=middle>) estoy a tu disposicion saludos amigo |