Javascript RegExp:使用变量创建正则表达式

jtm*_*.io 2 javascript regex jquery

可能重复:
Javascript Regexp动态生成?

我正在尝试使用变量创建一个新的RegExp; 但是,我不知道sytax这样做.任何帮助都会很棒!

我需要改变这个:(v.name.search(new RegExp(/ Josh Gonzalez/i))!= -1)将其更改为:(v.name.search(new RegExp(/ q/i))! = -1).我基本上需要用变量q~var q = $('input [name ="q"]').val();来替换"josh" .

谢谢您的帮助

$( '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;
            }
        });         
    }
);
Run Code Online (Sandbox Code Playgroud)

gil*_*ly3 8

像这样:

new RegExp(q + " Gonzalez", "i");
Run Code Online (Sandbox Code Playgroud)

使用这些/字符是如何使用RegExp文字语法定义RegExp.要从字符串创建RegExp,请将该字符串传递给RegExp构造函数.这些是等价的:

var expr = /Josh Gonzalez/i;
var expr = new RegExp("Josh Gonzalez", "i");
Run Code Online (Sandbox Code Playgroud)

你拥有它的方式是将正则表达式传递给正则表达式构造函数......这是多余的.