- ベストアンサー
日付のチェック
こんにちは! もし簡単な質問でしたらすみません。 JavaScriptで 入力した文字列が"2000/09/10"などの日付の書式になっているか どうか調べる関数ってあるんでしょうか? VBScriptでいうIsDate関数みたいな。 もし無い場合どのようなプログラムを組めばうまく日付かどうか チェックすることが出来るのでしょうか? 又、<SCRIPT>でJavaScriptを定義した中からVBScriptを使用すること は可能なのでしょうか? ご存知の方教えて下さい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 入力した文字列が"2000/09/10"などの日付の書式になっているか > どうか調べる関数ってあるんでしょうか? Microsoft の方は良く知らないんですが、JavaScript には、期待の動作を するそのものの関数が無いので、自分で作るしかないです。 いちばん簡単そうなのは、与えられた文字列をばらして、Date のオブジェクトを 作ってみて、それが期待した通りになっているかどうかを調べることでしょう。 というわけで、いっちょ書いてみました。 <html> <body> <script type="text/JavaScript"> function isDateString(s) { a = s.split("/"); a[1] = a[1] - 1; x = new Date(a[0], a[1], a[2]); if (a[0] != x.getYear() || a[1] != x.getMonth() || a[2] != x.getDate() ) { return 0; } else { return 1; } } function test_f(s) { if (isDateString(s)) { document.writeln(s + " is Valid.<br>"); } else { document.writeln(s + " isn't Valid.<br>"); } } test_f(new String("2001/1/20")); test_f(new String("2001/2/29")); </script> </body> </html> # インデントを見やすくするために、全角の空白を使っているので注意 > 又、<SCRIPT>でJavaScriptを定義した中からVBScriptを使用すること > は可能なのでしょうか? これは、別ものですから、混ぜることは無理です。 ただし、Internet Explorer であれば、SCRIPT タグで VBScript を使う旨を 指定できます。 普段は使わないので、よく分からないんですが、こんな感じで使えます。 <html> <body> <script language="VBScript"> MsgBox "Hello" </script> </body> </html>
お礼
わざわざソースまで書いて頂きありがとうございました。 とても役に立ちました。