jQuery クレジット カードの有効期限の検証スクリプトに取り組んでいます。クレジットカードの有効期限は、有効期限月の末日です。たとえば、カードの有効期限が 2013 年 8 月の場合、2013 年 8 月 31 日まで有効です。
過去にサーバー側で、現在の月に 1 を加えてから 1 日を引いて、月の最終日を決定していました。
今日、新しい日付を作成するときに、JavaScript の Date() オブジェクトの 3 番目のパラメーターに 0 を適用すると、結果の日付が月末日になることに気付きました。しかし、この観察を裏付けるオンライン ドキュメントを見つけることができませんでした。
ここにいくつかのサンプルコードがあります。
var month = 10;
var year = 2013;
var expires = new Date(year, month, 0);
alert(expires);
そして、これが私が作成したjsFiddleの例です。
JavaScript では月は 0 から始まると思っていたので、これは少し紛らわしいです。Chrome、Firefox、IE、および Safari でこれをテストしましたが、動作は一貫しているようです。返される日付は、一貫して月の最終日を表示します。これは幸運な発見のように見えますが、ここで何が起こっているのかを理解したいと思っています。
月末の日付を割り当てるこのアプローチを実行しても安全ですか? もしそうなら、これを確認できるオンライン ドキュメントはありますか? ありがとう。