Regex peka huruf besar kecil di JavaScript

121

Saya ingin mengekstrak string kueri dari URL saya menggunakan JavaScript, dan saya ingin melakukan perbandingan tidak peka huruf besar / kecil untuk nama string kueri. Inilah yang saya lakukan:

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

Tetapi kode di atas melakukan pencarian case sensitive. Saya mencoba /<regex>/itetapi tidak membantu. Ada ide bagaimana itu bisa dicapai?

Amit
sumber
5
Format literal / regex / i seharusnya berfungsi, kecuali jika Anda mencoba menggabungkannya atau semacamnya ...
Alex

Jawaban:

211

Anda dapat menambahkan pengubah 'i' yang berarti "abaikan huruf"

var results = new RegExp('[\\?&]' + name + '=([^&#]*)', 'i').exec(window.location.href);
Michał Niklas
sumber
2
Adakah cara saya membuatnya menjadi satu string?
Kardinal - Kembalikan Monica
11
@Cardinalystem/abc/i
aross
42

pengubah diberikan sebagai parameter kedua:

new RegExp('[\\?&]' + name + '=([^&#]*)', "i")
Brad Mace
sumber
ataunew RegExp('^' + string + '$', "i")
Vadim
6

Sederhana satu kapal. Dalam contoh di bawah ini, ia menggantikan setiap vokal dengan X.

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

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"
Diego Fortes
sumber