terça-feira, 27 de julho de 2010

Valida Data

function ValidacaoData(aDate) {
var monthDays = "101010110101";
var validDate = new String("");
var aDay, aMonth, aYear;
var aN, aMonthFlg;
validDate = aDate;

if( validDate.length != 10 ) { alert("utilizar a data com formato = (dd/mm/yyyy)."); return false; }

aDay = validDate.substring(0, 2);
aMonth = validDate.substring(3, 5);
aYear = validDate.substring(6, 10);

if( isNaN(parseInt(aDay)) || isNaN(parseInt(aMonth)) || isNaN(parseInt(aYear)) ) {
alert(" - Dia, mês e ano devem ser numéricos."); return false; }

aN = parseInt(aDay);
if( (aN < 0) || (aN > 31) ) { alert(" - O dia do mês de estar entre 1 e 31."); return false; }

if( (aMonth < 1) || (aMonth > 12) ) { alert(" - O mês deve estar entre 1 e 12."); return false; }

aMod = aYear % 4;
if( aMod == 0 ) aLim = 29;
else aLim = 28;

if( (aMonth == 2) && (aDay > aLim) ) { alert("Fevereiro, deste ano, tem " + aLim + " dias."); return false; }
aMonthFlg = parseInt(monthDays.substring(aMonth-1, aMonth));

if( (aMonthFlg == 0) && (aDay > 30) ) { alert("O mês tem somente 30 dias."); return false;
} return true;
}

#################################################################################

function validaData(pStr){
reDate = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
if (reDate.test(pStr)) {
//alert(pStr + " é uma data válida.");
return true
} else if (pStr != null && pStr != "") {
// alert(pStr + " NÃO é uma data válida.");
return false
}
}

Nenhum comentário:

Postar um comentário