代码之家  ›  专栏  ›  技术社区  ›  Komang

javascript正则表达式模式与变量连接

  •  69
  • Komang  · 技术社区  · 14 年前

    如何创建与变量连接的regex模式,如下所示:

    var test ="52";
    var re = new RegExp("/\b"+test+"\b/"); 
    alert('51,52,53'.match(re));
    

    谢谢

    2 回复  |  直到 14 年前
        1
  •  115
  •   bobince    14 年前
    var re = new RegExp("/\b"+test+"\b/"); 
    

    \b 在字符串中,文字是一个退格字符。当将正则表达式放入字符串文字中时,需要再进行一轮转义:

    var re = new RegExp("\\b"+test+"\\b"); 
    

    (你也不需要 // 在这种情况下。)

        2
  •  7
  •   Lauri    14 年前

    你可以使用

    /(^|,)52(,|$)/.test('51,52,53')
    

    但我建议用

    var list = '51,52,53';
    function test2(list, test){
        return !((","+list+",").indexOf(","+test+",") === -1)
    }
    alert( test2(list,52) )