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?


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);

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")

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"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.