JavaScript中不区分大小写的正则表达式


121

我想使用JavaScript从我的URL中提取查询字符串,并且想要对查询字符串名称进行不区分大小写的比较。这是我在做什么:

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

但是上面的代码进行区分大小写的搜索。我尝试过,/<regex>/i但没有帮助。知道如何实现吗?


5
文字格式/ regex / i应该可以工作,除非您尝试将其串联起来……
Alex 2014年

Answers:



42

修饰符作为第二个参数给出:

new RegExp('[\\?&]' + name + '=([^&#]*)', "i")

new RegExp('^' + string + '$', "i")
Vadim

6

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

function replaceWithRegex(str, regex, replaceWith) {
  return str.replace(regex, replaceWith);
}

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.