OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

日付のチェック

  • 暇なときにでも
  • 質問No.137060
  • 閲覧数1678
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 82% (98/119)

こんにちは!
もし簡単な質問でしたらすみません。

JavaScriptで
入力した文字列が"2000/09/10"などの日付の書式になっているか
どうか調べる関数ってあるんでしょうか?
VBScriptでいうIsDate関数みたいな。
もし無い場合どのようなプログラムを組めばうまく日付かどうか
チェックすることが出来るのでしょうか?

又、<SCRIPT>でJavaScriptを定義した中からVBScriptを使用すること
は可能なのでしょうか?

ご存知の方教えて下さい。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

> 入力した文字列が"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>
お礼コメント
toshi_1919

お礼率 82% (98/119)

わざわざソースまで書いて頂きありがとうございました。
とても役に立ちました。
投稿日時 - 2001-09-18 09:27:49
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ