Espressione regolare senza distinzione tra maiuscole e minuscole in JavaScript


121

Desidero estrarre una stringa di query dal mio URL utilizzando JavaScript e voglio fare un confronto senza distinzione tra maiuscole e minuscole per il nome della stringa di query. Ecco cosa sto facendo:

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

Ma il codice precedente esegue una ricerca con distinzione tra maiuscole e minuscole. Ho provato /<regex>/ima non ha aiutato. Qualche idea su come può essere raggiunto?


5
Quel formato letterale / regex / i dovrebbe funzionare, a meno che tu non abbia provato a concatenarlo o qualcosa del genere ...
Alex

Risposte:



42

i modificatori sono dati come secondo parametro:

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

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

6

Semplice una fodera. Nell'esempio seguente sostituisce ogni vocale con una X.

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

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.