JavaScriptが有効な日付をに与える理由を理解できません1 dec日付が無効です。この動作は特定の理由で言語に組み込まれていますか?それは私のユースケースのために無効な日付 新しい日付のすべての(「2017年11月31日」)有効期限がinvalida日付のJavaScriptの出力から来ています
答えて
まずなければならないため、Date
constructorは、入力を検証するために設計されていない、あるいは好き嫌いします。逆に、明示的にこのような創造的なルールで、任意のコストでインスタンスを作成するために設計されています:
(例えば13が月値 または分値70の場合)、隣接値は に調整されます。例えば。あなたは本当にあなたがどこかに見て必要な日数を検証する必要がある場合は、新しいDate(2013、13は、1)だから、新しい 日(2014、1、1)
に相当します。約11/31/2017
として
、コンストラクタは、この期待:日付を表す
文字列値。文字列は、Date.parse()メソッド(IETF-compliant RFC 2822 timestampsおよびISO8601のバージョン)で認識される形式 である必要があります。
...よく見えます。しかし、これは次の(強調鉱山):Dateコンストラクタ(メソッドとDate.parse、 彼らは等価である)と日付文字列の
解析強くによるブラウザ 違いや矛盾に落胆しています。
そして、我々はDate.parse()
ドキュメントに掘る場合、我々は最終的にこれを読んで:
ECMAScript仕様の状態を:文字列は、標準フォーマット に準拠していない場合は関数がどの インプリメンテーションにフォールバックします特定のヒューリスティックスまたは実装固有の解析 アルゴリズム。 ISO形式の文字列で不正な要素 の値を含む認識できない文字列または日付は、Date.parse()が NaNを返すようにします。
しかし、日付文字列に無効な値はECMA-262で定義されたISO形式 として認識されていないが、または、例えば、提供 ブラウザと値によっては、NaNが得られない場合があります。
// Non-ISO string with invalid date values new Date('23/25/2014');
ますSafariの7
でのFirefox 30と 無効な日付で2015年11月25日の現地日付として扱われ、このフォールバックケースは、あなたの日付はに落ちたものです。
- 1. Angularjs:$ cacheFactoryの日付の有効期限
- 2. カスタムメイドのクレジットカード有効期限日付フィールド
- 3. authorization.NET CIMの期限切れ日付が有効でない
- 4. Jtextfieldから日付を取得して有効期限を追加する
- 5. JavaScript有効期限 - APIレスポンス
- 6. Javascript Cookie毎週火曜日に有効期限が切れる
- 7. クレジットカード有効期限Jqueryの日付検証
- 8. 日付と通貨の有効期限(4)
- 9. Javascriptの有効期限の検証ステータス
- 10. JSESSIONID Tomcatの有効期限付きCookie
- 11. ループバック付きアクセストークンのスライディング有効期限
- 12. mysqlの挿入(有効期限付き)
- 13. 有効期限付きレコードの使用
- 14. 将来のユーザーの有効期限を設定する
- 15. JavaScript日付出力
- 16. 日付が有効かどうか出力が表示されない
- 17. 2つの異なるテーブルから有効期限と有効期限の間の日付を取得するSQLクエリ
- 18. 日付が有効期限の1週間前のデータを選択
- 19. トークンは1日後に有効期限が切れます
- 20. azureAD refreshtokenは14日で有効期限が切れます
- 21. 「トークンの有効期限が切れて」
- 22. 有効期限
- 23. セッションの有効期限と有効期限
- 24. jQuery UI datepickerを最初の日付に有効期限を設定して有効に設定する
- 25. jwt/tymonの有効期限が切れています
- 26. トークンの有効期限が切れています
- 27. プロビジョニングプロファイルの有効期限が切れています。
- 28. 日後の猶予期間キャッシュの有効期限
- 29. JavaScriptのdatetimeから日付を抽出しています
- 30. Webアプリケーション(ASP.NET)の有効期限をハードコーディングしていますか?
私は、Dateコンストラクタパーサーのすべてのルールと例外を学ぶことはできませんでした。あなたはいつもそれがアメリカの形式の日付を拒絶すべきであると確信していますか? –
http://stackoverflow.com/questions/8098202/javascript-detecting-valid-dates – msg