Spec-Zone.ru › ESLint

no-invalid-regexp

Запрет некорректных строк регулярных выражений в конструкторах RegExp

✅ Рекомендованное

Использование конфигурации recommended из @eslint/js в файле конфигурации активирует это правило

Неверный шаблон в литерале регулярного выражения является SyntaxError, когда код парсится, но неверная строка в конструкторах RegExp выбрасывает SyntaxError, только когда код выполняется.

Подробное описание правила

Это правило запрещает некорректные строки регулярных выражений в конструкторах RegExp

Примеры некорректного кода для этого правила:

Открыть в Playground
/*eslint no-invalid-regexp: "error"*/

RegExp('[')

RegExp('.', 'z')

new RegExp('\\')

Примеры корректного кода для этого правила:

Открыть в Playground
/*eslint no-invalid-regexp: "error"*/

RegExp('.')

new RegExp

this.RegExp('[')

Обратите внимание, что это правило валидирует регулярные выражения согласно последней спецификации ECMAScript, независимо от настроек вашего парсера.

Если по какой-либо причине вы хотите разрешить дополнительные флаги конструктора, вы можете указать их с помощью параметра allowConstructorFlags. Эти флаги будут игнорироваться правилом.

Параметры

Это правило имеет параметр объекта для исключений:

  • "allowConstructorFlags" — это массив флагов, чувствительный к регистру

allowConstructorFlags

Примеры корректного кода для этого правила с параметром { "allowConstructorFlags": ["a", "z"] }:

Открыть в Playground
/*eslint no-invalid-regexp: ["error", { "allowConstructorFlags": ["a", "z"] }]*/

new RegExp('.', 'a')

new RegExp('.', 'az')

Версия

Это правило было введено в ESLint v0.1.4.

Дополнительные материалы

Комментированная спецификация ES5

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-invalid-regexp

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API