Case insensitive regex in JavaScript
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 /<regex>/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"