Possible Duplicate:
Javascript Regexp dynamic generation?
我正在尝试使用变量创建一个新的正则表达式;但是,我不知道执行此操作的语法。任何帮助都会很棒!
我需要更改此:(v.name.search(new RegExp(/Josh Gonzalez/i)) != -1) 将其更改为:(v.name .search(new RegExp(/q/i)) != -1)。我基本上需要将“josh”替换为变量 q ~ var q = $( 'input[name="q"]' ).val();
感谢您的帮助
$( 'form#search-connections' )
.submit( function( event )
{
event.preventDefault();
var q = $( 'input[name="q"]' ).val();
console.log( _json );
$.each( _json, function(i, v) {
//NEED TO INSERT Q FOR JOSH
if (v.name.search(new RegExp(/Josh Gonzalez/i)) != -1) {
alert(v.name);
return;
}
});
}
);
最佳答案
像这样:
new RegExp(q + " Gonzalez", "i");
使用 /
字符是如何使用 RegExp 文字语法定义 RegExp。要从字符串创建 RegExp,请将字符串传递给 RegExp 构造函数。这些是等效的:
var expr = /Josh Gonzalez/i;
var expr = new RegExp("Josh Gonzalez", "i");
您将正则表达式传递给正则表达式构造函数的方式...这是多余的。
关于JavaScript 正则表达式 : Create regex with variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7829523/