Case insensitive regex in javascript

Case insensitive regex in javascript

Hi I want to extract a query string from my URL using JavaScript, and I want to do a case insensitive comparison for the query string name. Here is what I am doing:
var results = new RegExp(‘[\\?&]’ + name + ‘=([^&#]*)’).exec(window.location.href);
if (!results) { return 0; }
return results[1] || 0;

But the above code does a case sensitive search. I tried //i but it did not help. any idea how can that be achieved?


Solution 1:

You can add ‘i’ modifier that means “ignore case”

var results = new RegExp('[\\?&]' + name + '=([^&#]*)', 'i').exec(window.location.href);

Solution 2:

modifiers are given as the second parameter:

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

Solution 3:

Simple one liner.
In the example below it replaces every vowel with an X.

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

replaceWithRegex('Hello there', /[aeiou]/gi, 'X'); //"HXllX thXrX"