Javascript 使用字符串进行正则表达式搜索

Javascript 使用字符串进行正则表达式搜索,javascript,jquery,Javascript,Jquery,我有一个文本字符串,它具有所选文本的值。我想在给定的文本分区中对此文本执行replace() 因此,我知道我可以通过以下方法做到这一点: myelement.replace(/foo/g,'bar') 但是,我需要用我的绳子来做: myelement.replace(/*mystring*/g,'bar') 所以我试着: mystring = '/'+mystring+'/g'; myelement.replace(mystring, 'bar'); 这不起作用,所以我试了一下(我知道不会起作

我有一个文本字符串,它具有所选文本的值。我想在给定的文本分区中对此文本执行replace()

因此,我知道我可以通过以下方法做到这一点:

myelement.replace(/foo/g,'bar')

但是,我需要用我的绳子来做:

myelement.replace(/*mystring*/g,'bar')

所以我试着:

mystring = '/'+mystring+'/g';
myelement.replace(mystring, 'bar');
这不起作用,所以我试了一下(我知道不会起作用):

myelement.replace(/+mystring+//g,'bar')

那我该怎么做呢

我在JSFIDLE中为你们编写了一些代码-->

更改是使用
newregexp(st,“g”)
而不是像以前那样创建字符串
/test/g
只是创建RegExp对象的快捷方式。

只需替换

regSt = '/'+st+'/g';  


关于regExp的更多信息

Btw,
$(“#myelement”)
将返回jQuery对象,而不是字符串。如果要替换元素的内容,请查看
.html()
.text()
方法:您需要创建一个
新的RegExp()
@Felix Kling。我没能在问题中打上这句话(现在我发火了)。在jsfiddle示例中是正确的。感谢您的回答,我检查了@Felix Kling提醒我的[另一个答案]。所以我会尽可能接受你的回答。我也非常感谢菲利克斯。是的,我在写这个答案的时候没有注意到菲利克斯指出了一个骗局。啊<代码>eval()
?这不是那个禁果吗?
regSt = new RegExp(st,'g');
eval('myelement.replace(/' + mystring + '/g, "bar");');