アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

ご存知の方教えて下さい。

A 回答 (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>
    • good
    • 0
この回答へのお礼

わざわざソースまで書いて頂きありがとうございました。
とても役に立ちました。

お礼日時:2001/09/18 09:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!