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

javascript中不区分大小写的regex

  •  103
  • Amit  · 技术社区  · 14 年前

    嗨,我想使用javascript从我的URL中提取一个查询字符串,我想对查询字符串名进行不区分大小写的比较。以下是我要做的:

    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
            if (!results) { return 0; }
            return results[1] || 0;
    

    但是上面的代码进行了区分大小写的搜索。我试过 /<regex>/i 但没有帮助。你知道怎么做到吗?

    3 回复  |  直到 5 年前
        1
  •  184
  •   Michał Niklas    14 年前

    您可以添加“i”修饰符,表示“忽略大小写”

    var results = new RegExp('[\\?&]' + name + '=([^&#]*)', 'i').exec(window.location.href);
    
        2
  •  41
  •   Brad Mace Mike King    14 年前

    修饰符作为第二个参数提供:

    new RegExp('[\\?&]' + name + '=([^&#]*)', "i")
    
        3
  •  -1
  •   Diego Fortes    5 年前

    简单的一个内衬。 在下面的示例中,它用x替换每个元音。

    function replaceWithRegex(str, regex, replaceWith) {
      return str.replace(regex, replaceWith);
    }
    
    replaceWithRegex('Hello there', /[aeiou]/gi, 'X'); //"HXllX thXrX"