Ciao biocco,

beccate questo bell'esempio
codice:
<HTML>
<HEAD>
<script language="javascript">
function dataValida(txt){
	var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
	if(re.test(txt)){
		var adata = txt.split('/');
		var gg = parseInt(adata[0],10);
		var mm = parseInt(adata[1],10);
		var aaaa = parseInt(adata[2],10);
		var xdata = new Date(aaaa,mm-1,gg)
		if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
			return xdata
		else return false
	}else return false
}
function verData(ff){
	if(!dataValida(ff.data.value)){
		alert('Data non valida!')
		return false
	}
	else{
		alert('Data valida :)')
		return true
	}
}
</script>
<TITLE>Controllo Data</TITLE>
</HEAD>
<BODY>
<form name="NomeForm" onsubmit="return verData(this)">gg/mm/aaaa
	<input type="text" name="data">
	<input type="button" value="verifica data" onclick="verData(this.form)">
	<input type="submit" value="submit">
</form>
</BODY>
</HTML>
ti ho fatto l'esempio di controllo da button e anche controllo nell'onsubmit.
Il formato della data è gg/mm/aaaa però i numeri minori di 10 possono essere inseriti anche senza zero, te va bbene così?