la función seria:
[js]
$.isDate = function (inputField) {
isValid = true;
var currVal = $(inputField).val();
if (currVal === ”)
return false;
//Declarar Regex
var rxDatePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var dtArray = currVal.match(rxDatePattern);
if (dtArray === null)
isValid = false;
//formato mm/dd/yyyy.
dtDay = dtArray[1];
dtMonth = dtArray[3];
dtYear = dtArray[5];
if (dtMonth < 1 || dtMonth > 12)
isValid = false;
else if (dtDay < 1 || dtDay > 31)
isValid = false;
else if ((dtMonth === 4 || dtMonth === 6 || dtMonth === 9 || dtMonth === 11) && dtDay === 31)
isValid = false;
else if (dtMonth === 2) {
var isleap = (dtYear % 4 === 0 && (dtYear % 100 !== 0 || dtYear % 400 === 0));
if (dtDay > 29 || (dtDay === 29 && !isleap))
isValid = false;
}
$.Error(isValid, inputField);
return isValid;
};
[/js]
Si quieres cambiar el formato de la fecha que quieres validar, debes cambiar las siguientes lineas ejemplo:
[js]
//para formato mm/dd/yyyy.
dtMonth = dtArray[1];
dtDay= dtArray[3];
dtYear = dtArray[5];
[/js]
[js]
//para formato dd/mm/yyyy.
dtDay = dtArray[1];
dtMonth= dtArray[3];
dtYear = dtArray[5];
[/js]
Ejemplo de como utilizarías la función:
[js]
$(document).ready(function () {
if (!$.isDate($(‘#ITtxtInicioJornada’))) {
alert(‘Fecha INVALIDA : ‘ + $(‘#ITtxtInicioJornada’).val());
$(‘#ITtxtInicioJornada’).focus();
}
});
[/js]
Esta seria la función para manejar el error, es decir, cambiaría de color el input:
[js]
$.Error = function (error, field) {
if (!error) {
$(field).css({ ‘background-color’: ‘#fba’ });
} else {
$(field).css({ ‘background-color’: ‘white’ });
}
};
[/js]