La Web del Programador: Comunidad de Programadores
 
    Pregunta:  44115 - VALIDACION DE FECHA Y HORA EN JSCRIPT
Autor:  Nina Fernandez
Hola, recién estoy comenzando en JavaScript, alguien me podría orientar en cómo puedo validar la fecha y hora que ingreso a través de un formulario.

Gracias.

  Respuesta:  Carlos Alberto Garcia Reyes
Hola mira yo tambien estoy comenzando a programar en javascrit para una aplicacion web dinamica pero ya realice algunas validaciones entre las que esta la de fecha bien te voy a mandar el codigo de la validacion de fecha y tu la aplicas en tu sistema espero te sirva es mas te envio algunas otras validaciones esperando te sirvan sale bueno saludos. bye.

CODIGO JAVASCRIPT PARA VALIDAR FECHA.

<script language="JavaScript"> /*COMINEZA EL JAVASCRIPT//

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");
}
}

</script> //TERMINA EL JAVASCRIPT//

VALIDACION DE MAIL

<script>
function validarEmail(valor) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
alert("La dirección de email " + valor + " es correcta.")
return (true)
} else {
alert("E-mail incorrecto.");
return (false);
}
}
</script>

VALIDACION PARA SOLO CAMPOS NUMERICOS

<script>
function Comprueba(form){
var number = parseFloat(form.valor.value);
if (isNaN(number)==true)
alert("No es numérico");
else
form.valor.value = number;
if (isNaN(number)==false)
alert("Es numérico");
}
</script>