Мне кажется регой дату не проверить. Придется разбирать по частям. И проверять по числам. Например: 29.02.2012
1. бьем по точкам (в данном случае)
2. проверяем год >= 1900 <= 2200 (для примера)
3. месяц >= 1 <=12 (в зависимости от года 29 фев.)
4. день в зависимости от месяца
Или попробовать мухлевать с объектом Date, в частности с Date.parse.
Или (не знаю, насколько правильно это рассуждение), действовать (через ж) так:
var w = "12.12.2012".split(".");
var x = new Date();
x.setFullYear(w[2]);
x.setMonth(w[1]);
x.setDate(w[0]);
//затем получать дату
if (x.getDate() + ".(Ваш разделитель)" + x.getMonth() + "." + x.FullYear() == w.join("."));
но получается какой-то велосипед.) Писал прям форум, ес че звиняйте ^_^