好记性不如烂笔头。

JS检查字符串是否为合法日期

//合法日期:yyyy-mm-dd,分隔符可以为-/.
String.prototype.isDate = function() {
    var year,month,date,day;
    var reg = /^([12]\d{3})([-\/\.])([01]?\d)\2([0-3]?\d)$/;

    if (!reg.test(this)) return false;

    year  = RegExp.$1.parseInt();
    month = RegExp.$3.parseInt() - 1;
    date  = RegExp.$4.parseInt();
    day = new Date(year,month,date);

    return ((date == day.getDate()) && (month == day.getMonth()));
}
// demo:
"1999-12-20".isDate()
// 合法日期:yyyy-mm-dd,分隔符可以为-/