¿Cómo puedo validar datos con HTML? Por ejemplo obligar al usuario a ingresar una fecha en un determinado formato.
Desde ya muchas gracias,
Tomás.-
| ||||
De HTML a JS... 3... 2... 1... YA!
__________________ Cómo escribir No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |
| ||||
Trasteando, trasteando he encontrado este script, sacado del ScriptMaster, para validar fechas. Con un poco de maña y algo de suerte igual ya te sirve. - Validar Fechas: <html> <head> <!-- PRIMER PASO: Copiar dentro del tag 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; } 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> <!-- SEGUNDO PASO: Copiar dentro del tag 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> Saludos. ![]() |