2

変数内の変数の検索に問題があります。私が持っているコードは次のとおりです。

var str = "13, 12, 12, 12";

//Look for string = 13 in str.
var string = 13;

var patt = "/" + string + "/g";
var result = patt.test(str);

私のエラーは何ですか?

4

3 に答える 3

5

使用する

var patt = new RegExp(string, 'g');

あなたのパターンを構築します。この/something/g構文は、動的パターンには使用できません。

正規表現に関する MDN のドキュメントを参照してください。

于 2012-10-15T16:06:55.693 に答える
2

indexOf以下のように機能を使用することをお勧めします。

var str="13, 12, 12, 12";
var string= "13";
var result = str.indexOf(string)>=0;
于 2012-10-15T16:09:27.520 に答える
0

indexOfで13の最初の値を取得しようとしている場合はstr、次のようにします。

var str = "13, 12, 12, 12";
var string = "13";
var result = str.match(/\d{1,}/g).indexOf(string); //returns 0

これは、値が13の場合にのみ一致strします。たとえば、131は現在のコードのように一致しません。値13がに存在するかどうかをテストしようとしている場合はstr、次のようにします。

var str = "13, 12, 12, 12";
var string = "13";
var result = (str.match(/\d{1,}/g).indexOf(string) !== -1); //Returns true
于 2012-10-15T16:40:03.060 に答える