JavaScriptで存在日付チェック

入力された日付が正当なものかどうかJavaScriptでチェックする。

日付は Date クラスの引数に年月日を与えれば良い。

注意点として
var d = new Date(2012,11,13); //月は0〜11の値を取るので、これで2012年12月13日を指定していることに注意する。

※もし日付がその月の最大日を超えている場合は翌月に繰り越す。
例えば 20120231→20120302 となる。

これを考慮して書きなおすと


とすればよい。

var y = $('#txt_day').val().substring(0, 4);
var m = $('#txt_day').val().substring(4, 6);
var d = $('#txt_day').val().substring(6, 8);
//入力日付チェック
var di = new Date(y, m - 1, d);
if (!(di.getFullYear() == y && di.getMonth() == m - 1 &&
     di.getDate() == d) || 
      !($('#txt_day').val().length == 8)) {
            jAlert('正しい日付を入力してください。', 'チェックエラ');
            return false;
        }