Olá... abaixo, segue um script de máscara + validação de datas. Se você souber um pouco de JS, pode ajustar como quiser.
function mascara_data(data){
var mydata = '';
mydata = mydata + data;
if (mydata.length == 2){
mydata = mydata + '/';
document.forms[0].data.value = mydata;
}
if (mydata.length == 5){
mydata = mydata + '/';
document.forms[0].data.value = mydata;
}
if (mydata.length == 10){
verifica_data();
}
}
function verifica_data () {
dia = (document.forms[0].data.value.substring(0,2));
mes = (document.forms[0].data.value.substring(3,5));
ano = (document.forms[0].data.value.substring(6,10));
situacao = "";
// verifica o dia valido para cada mes
if ((dia < 01)||(dia < 01 || dia > 30) && ( mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) {
situacao = "falsa";
}
// verifica se o mes e valido
if (mes < 01 || mes > 12 ) {
situacao = "falsa";
}
// verifica se e ano bissexto
if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) {
situacao = "falsa";
}
if (document.forms[0].data.value == "") {
situacao = "falsa";
}
if (situacao == "falsa") {
alert("Data inválida!");
document.forms[0].data.focus();
}
}
Flws.