Випадок нечутливого виразів у JavaScript


121

Я хочу витягнути рядок запиту зі своєї URL-адреси за допомогою JavaScript, і я хочу зробити порівняльне з регістром ім’я назви рядка запиту. Ось що я роблю:

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

Але вищезазначений код робить облік у регістрі пошуку. Я спробував, /<regex>/iале це не допомогло. Будь-яка ідея, як цього можна досягти?


5
Цей буквальний формат / regex / я повинен працювати, якщо ви не намагалися його об'єднати чи щось таке ...
Алекс

Відповіді:



42

модифікатори задаються як другий параметр:

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

абоnew RegExp('^' + string + '$', "i")
Вадим

6

Простий один вкладиш. У наведеному нижче прикладі він замінює кожну голосну на X.

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

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.