Javascript RegExp:使用变量创建正则表达式 [英] Javascript RegExp: Create regex with variable

查看:154
本文介绍了Javascript RegExp:使用变量创建正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


可能重复:

Javascript Regexp动态生成?

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

I am trying to create a new RegExp with a variable; however, I do not know the sytax to do this. Any help would be great!

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

I need to change this: (v.name.search(new RegExp(/Josh Gonzalez/i)) != -1) change it to this: (v.name.search(new RegExp(/q/i)) != -1). I basically need to replace the "josh" with the variable 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构造函数。这些是等价的:

Using the / characters is how to define a RegExp with RegExp literal syntax. To create a RegExp from a string, pass the string to the RegExp constructor. These are equivalent:

var expr = /Josh Gonzalez/i;
var expr = new RegExp("Josh Gonzalez", "i");

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

The way you have it you are passing a regular expression to the regular expression constructor... it's redundant.

这篇关于Javascript RegExp:使用变量创建正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆