我有以下 fiddle :
函数:
$('#testbutton').on("click", function(){
test();
});
function test()
{
var data = [];
data['article'] = "monablanko";
data['specialarticle'] = ["blanko", "bbsooel"];
var tmp = data['specialarticle'].join("|");
if( data['article'].match( /(tmp)/ ) )
{
$('#result').html("I found a match");
}
else
{
$('#result').html("I didn't found a match");
}
}
我没有找到与此功能匹配的项。我的错误在哪里?当我使用
时,tmp 的类型是字符串console.log(typeof tmp);
当我写作时
if( data['article'].match( /(blanko|bbsooel)/ ) )
然后我找到匹配项。
最佳答案
您匹配的是字符串文字 "tmp"
,而不是变量 tmp
中包含的值。像这样尝试:
data['article'].match( new RegExp("(" + tmp + ")") )
关于javascript - 使用 match(),但它不适用于字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24672101/