1

if ステートメントでワイルドカードを使用する方法を見つけようとしています。だから私は次のような値を持っています: 07/22/2012 (日付) そして、私はそれをしたい:

if (date = "07/" *) { alert("test"); };

また、07 の後にのみワイルドカードを使用する必要があります。

どんなアドバイスも感謝します、サイモンに感謝します。また、誰かがその中でより簡単な方法を知っていれば、jquery を使用できます。

4

4 に答える 4

3

このsubstring関数を使用して、文字列の特定の部分を確認できます。

if (date.substring(0, 3) === "07/") { alert("test"); };

そうは言っても、私はあなたのユースケースにもっと大きな問題があるかもしれないことに同意します。日付を検証しようとしている場合は、文字列を検証しようとするのではなく、実際には日付関数を使用する必要があります。

于 2012-11-13T15:11:03.550 に答える
0

substring / substrを使用します:

if (date.substr(0, 3) == "07/")

文字列がそのシーケンスで始まるかどうかを確認します。非常に最近のJSエンジンでは、 (シムするdate.startsWith("07/")ときにも)使用することもできます。

より複雑なマッチングの場合は、正規表現を使用することをお勧めします。「beginswith」は次のようになります。

/^07\//.test(date)
于 2012-11-13T15:12:19.630 に答える
0

日付を操作しようとしている場合は、moment.jsなどのライブラリを使用することをお勧めします。

たとえば、日付の月が 7 月であることを確認するには、次のようにします。

// month starts at 0 so July => 6
var month = 6;
var d = moment("07/22/2012", "MM-DD-YYYY");

if( d.month() === month ) alert("test");

はこちら

于 2012-11-13T15:19:56.590 に答える
0

文字列を特定のパターンに一致させる必要がある場合は、正規表現を使用する必要があります。

文字列が特定の部分文字列で始まることをテストしたい場合は、次のような RegExp を使用します。

/^07\//
  • /先頭と末尾で正規表現リテラルを区切ります
  • ^文字列の先頭に一致するため、パターンが日付内で一致するのを防ぎます。'06/07/08'
  • 07文字列に一致'07'
  • \/文字に一致する/場合、その文字はエスケープとして使用されるため、正規表現が閉じられません。これは、文字列内の引用符を(ex )\でエスケープする必要があるのと同様です。\"\""

ifステートメントをチェックインする方法は、次のtestメソッドを使用することです。

if (/^07\//.test(yourDate)) {
    ...do stuff...
}

Dateこれはすべてパターン マッチング文字列のユニコーンと虹ですが、日付を頻繁に扱う場合は、複雑なパターン マッチングを実行するのではなく、日付をオブジェクトに解析し、オブジェクトを通じて管理する必要があります。

于 2012-11-13T15:15:46.850 に答える