我遇到了在變量內搜索變量的問題。我的代碼是:JavaScript中的函數'.test'。測試變量
var str = "13, 12, 12, 12";
//Look for string = 13 in str.
var string = 13;
var patt = "/" + string + "/g";
var result = patt.test(str);
我的錯誤是什麼?
我遇到了在變量內搜索變量的問題。我的代碼是:JavaScript中的函數'.test'。測試變量
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
構造不能用於動態模式。
我建議使用如下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
這將匹配只有當str
的值爲13.例如,131不會像您當前的代碼那樣匹配。如果您試圖測試str
中是否存在值13,我會做以下操作:
var str = "13, 12, 12, 12";
var string = "13";
var result = (str.match(/\d{1,}/g).indexOf(string) !== -1); //Returns true
乾杯。這很有魅力 –