JavaScript'te büyük / küçük harfe duyarlı olmayan normal ifade


121

JavaScript kullanarak URL'mden bir sorgu dizesi çıkarmak istiyorum ve sorgu dizesi adı için büyük / küçük harfe duyarlı olmayan bir karşılaştırma yapmak istiyorum. İşte yaptığım şey:

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

Ancak yukarıdaki kod, büyük / küçük harfe duyarlı bir arama yapar. Denedim /<regex>/iama yardımcı olmadı. Bunun nasıl başarılabileceği hakkında bir fikriniz var mı?


5
Bu gerçek format / regex / i , onu birleştirmeye veya başka bir şey yapmaya çalışmadıkça çalışmalı ...
Alex

Yanıtlar:


211

"Büyük / küçük harf kullanımını göz ardı et" anlamına gelen "i" değiştiricisini ekleyebilirsiniz

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

2
Bunu tek bir dizeye dönüştürmemin bir yolu var mı?
Kardinal - Eski Monica

11
@CardinalSystem/abc/i
aross

42

değiştiriciler ikinci parametre olarak verilmiştir:

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

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

6

Basit tek astar. Aşağıdaki örnekte her sesli harfi bir X ile değiştirir.

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

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.