«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сделать совпадения регулярных выражений JavaScript нечувствительными к регистру?

Как сделать совпадения регулярных выражений JavaScript нечувствительными к регистру?

Опубликовано 9 ноября 2024 г.
Просматривать:255

How to Make Your JavaScript Regex Matches Case-Insensitive?

Выполнение сопоставлений регулярных выражений без учета регистра в JavaScript

При работе с URL-адресами часто необходимо извлечь данные из строки запроса. В JavaScript использование регулярных выражений для такого извлечения может быть простым, но обеспечение нечувствительности к регистру может оказаться сложной задачей.

В этом посте мы исследуем распространенную проблему, когда сравнение с учетом регистра может привести к противоречивым результатам. Давайте рассмотрим следующий фрагмент кода:

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

Этот код предназначен для извлечения значения параметра строки запроса с именем «имя» из текущего URL-адреса. Однако он не выполняет сравнение имени строки запроса без учета регистра, что может привести к неожиданному поведению, если имя введено с другим регистром.

Чтобы решить эту проблему, мы можем использовать 'i' модификатор в нашем регулярном выражении, чтобы сделать сравнение нечувствительным к регистру. Этот модификатор следует добавить сразу после последней косой черты в регулярном выражении, как показано ниже:

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

Благодаря включению модификатора 'i' регулярное выражение теперь будет игнорировать регистр имени строки запроса, гарантируя, что сравнение будет успешным независимо от регистра ввода.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3