有効な日付を確認するために JavaScript で「無効な日付」の日付インスタンスを検出するからの 2 つの一般的な回答を試しました。どちらも IE8 でテストしましたが、残念ながらどちらも期待外れです。ここでそれを参照してくださいhttp://jsfiddle.net/Lijo/uzSU6/2/
IE8 + Chrome + Firefox で動作するより良い JavaScript コードはありますか?
注: 驚いたことに、Firefox でもうまく動作しません...
調子
日付形式は、スラッシュ (/) を含む米国の日付形式である必要があります
コード
isValidDateCheck2('12/33/2012') ;
isValidDateCheck1('12/12/2012') ;
function isValidDateCheck1(d)
{
alert(Object.prototype.toString.call(d));
if ( Object.prototype.toString.call(d) !== "[object Date]" )
{
alert('Not Valid');
}
if(!isNaN(d.getTime()))
{
alert(d.getTime());
}
}
function isValidDateCheck2(d)
{
var timestamp=Date.parse(d);
alert(timestamp);
if (isNaN(timestamp)==false)
{
var date=new Date(timestamp);
alert(date);
}
}
編集
@mplungjan アプローチ (最初に提案) はhttp://jsfiddle.net/Lijo/uzSU6/7/にリストされています。これは、IE8 で 1 つのシナリオ ( http://jsfiddle.net/Lijo/uzSU6/12/ ) で失敗しました。