変数内の変数の検索に問題があります。私が持っているコードは次のとおりです。
var str = "13, 12, 12, 12";
//Look for string = 13 in str.
var string = 13;
var patt = "/" + string + "/g";
var result = patt.test(str);
私のエラーは何ですか?
変数内の変数の検索に問題があります。私が持っているコードは次のとおりです。
var str = "13, 12, 12, 12";
//Look for string = 13 in str.
var string = 13;
var patt = "/" + string + "/g";
var result = patt.test(str);
私のエラーは何ですか?
使用する
var patt = new RegExp(string, 'g');
あなたのパターンを構築します。この/something/g
構文は、動的パターンには使用できません。
正規表現に関する MDN のドキュメントを参照してください。
indexOf
以下のように機能を使用することをお勧めします。
var str="13, 12, 12, 12";
var string= "13";
var result = str.indexOf(string)>=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