Author Topic: funcion validar fecha con jscript  (Read 2271 times)

0 Members and 1 Guest are viewing this topic.

eeraul

  • Guest
funcion validar fecha con jscript
« on: March 28, 2007, 02:07:27 pm »
hey compadres de mucho conocimiento alguien conoce algun script para validar la fecha donde le paso los tres parametros
si alguien sabe favor contesteme que necesito utilizar lo please gracias.....

fapasv

  • Guest
Re: funcion validar fecha con jscript
« Reply #1 on: May 11, 2007, 01:13:17 pm »
Hey para validar fechas con jscript yo utilizo el siguiente grupo d formulas:

Code: [Select]
function esDigito(sChr){
var sCod = sChr.charCodeAt(0);
return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt){// eseto valida tu separador de fecha
var bOk = false;
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){bOk.value='';}
return bOk;
}
}
Como ves son varias y eso es bueno porque las podes manejar como queras, eso si, para mi es mas comodo utilizar un campo de texto con valor dd/mm/aaaa ya que ese argumento lo podes partir utilizando como separador '/'  :p

la forma de emplearla nada del otro mundo en algun evento on(submit, blur... etc) pones en tu script y suponiendo q tu campo se llame fecha
Code: [Select]
if(fecha.value !='' && !valFecha(fecha.value)){alert("el formato de fecha debe ser: dd/mm/aaaa");
donde valFecha llama a todas las demas funciones... claro puede q encontres alguna mucho mejor si googleas x ahi.