0

ドロップダウンの値に基づいてフォームを検証するための正規表現が必要です。ただし、値はPHPによってランダムに生成されます(ただし、常に2桁の数値です)。

「38|OneEvening」に有効である必要があります。38という数字が変更されます。これまでのところ、私は持っています

//return value of dropdown
var priceOption = $("#price_option-4").val();

//make sure it ends with "One Evening"
var oneEvening = priceOption.match(/^ * + 'One Evening' $/);

「ある夜」が続く限り、どの文字列にも一致すると思いました

4

5 に答える 5

6

文字列は正規表現では使用できません。一致させたいものを正規表現リテラル内に引用符なしで記述してください。

   /^\d{2}\|One Evening$/.test(priceOption);
//  ^^^^^^                          Begins with two digits
//        ^^                        Escaped the | meta char.
//          ^^^^^^^^^^^^            Then until the end: One Evening    
于 2012-11-05T17:07:09.137 に答える
1

単に使用する

/^\d\d\|One Evening$/.test(priceOption);
于 2012-11-05T17:08:22.143 に答える
1

xx|OneEveningの場合

/^\d{2}\|One Evening$/
于 2012-11-05T17:09:00.677 に答える
0
/^.+?One Evening$/

それを分解する

// ^ starts with
// . any character
// + quantifier - one or more of preceding character
// ? non-greedy - ensure regex stops at One Evening.
// One Evening = literal text
// $ match end of string.

私の答えは、任意の文字シーケンスに一致するという要件を反映していることに注意してくださいOne Evening

より具体的にして、2つの数字を確実に使用する方がよいと思います。

于 2012-11-05T17:15:48.460 に答える
-1

可能であれば、具体的にするのが最善です。次のことを試してください。

// <start of string> <2 digits> <|One Evening> <end of string>
/^\d{2}\|One Evening$/.test( priceOption );
于 2012-11-05T17:16:34.013 に答える