Da questa discussione è possibile estrarre il codice necessario per verificare che una data immessa in un campo testo sia una data valida e che sia espressa nel formato gg/mm/(aa)aa:

codice:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Esempio</title>
<script type="text/javascript">
	// le seguenti righe di codice sono necessarie per rendere lo script compatibile con i vecchi browser; possono essere rimosse senza danno per i nuovi browser.
	if (!Array.prototype.every) {
		Array.prototype.every = function(fValidator /*, oThisObj */) {
			"use strict";
			if (this === void 0 || this === null) { throw new TypeError(); }
			var aThisArray = Object(this);
			var nLength = aThisArray.length >>> 0;
			if (typeof fValidator !== "function") { throw new TypeError(); }
			var oThisObj = arguments[1];
			for (var iIndex = 0; iIndex < nLength; iIndex++) { if (iIndex in aThisArray && !fValidator.call(oThisObj, aThisArray[iIndex], iIndex, aThisArray)) { return false; } }
			return true;
		};
	}
	// fine delle righe di codice per la compatibilità

	function validateForm() {
		var iDateSegm, aInputDate = document.myForm.dateField.value.split("\/"), nInDateLen = aInputDate.length;
		if (nInDateLen !== 3) { alert("Inserire una data nel formato gg\/mm\/(aa)aa"); return false; }
		else {
			for (var iSegmId = 0; iSegmId < nInDateLen; iSegmId++) {
				iDateSegm = aInputDate[iSegmId];
				if (/\D/.test(iDateSegm)) { alert("La data pu\u00F2 contenere solo numeri separati da \"\/\"."); return false; }
				else { aInputDate[iSegmId] = parseFloat(iDateSegm); }
			}
			var oParsedDate = new Date(aInputDate[2], aInputDate[1] - 1, aInputDate[0]), aOutputDate = [oParsedDate.getDate(), oParsedDate.getMonth() + 1, oParsedDate.getFullYear()];
			if (!aOutputDate.every(function (vThisValue, nThisIndex /*, aTheArray */) {
				if (this[nThisIndex] === vThisValue) { return true };
				return false;
			}, aInputDate)) { return confirm("La data immessa \u00E8 stata corretta in " + aOutputDate.join("\/") + ". Confermare se la data corrisponde al valore che si voleva indicare, altrimenti annullare per apportare le dovute modifiche."); }
			return false;
			
		}
		return true;
	}
</script>
</head>

<body>
						
<form method="POST" name="myForm" onsubmit="return(validateForm());">
Inserire data: <input type="text" name="dateField" id="dateField" /> <input type="submit" value="Invia">
</form>

</body>
</html>