Проблема производительности Ng-Pattern с многострочным регулярным выражением - PullRequest
0 голосов
/ 02 ноября 2018

У меня проблемы с производительностью ng-pattern на входе textarea.

У меня есть выражение Regex, чтобы просто проверить, содержит ли код скрипт, изображение или тег iframe. Если я вставляю скрипт с несколькими строками, после определенного размера весь ввод и страница перестают отвечать. В определенный момент умирает вся вкладка браузера.

Regex:

/^.*(<(img|iframe|script)( [^<]*)*>).*/m

Stackblitz для воспроизведения: https://stackblitz.com/edit/angularjs-btrpfi?file=home%2Fhome.html

Код, который я сейчас передаю для тестирования:

<!-- Begin test script -->
<script type="text/javascript">
    var test = 123;
    var b = 24;
    var c = 22;
    var f = 56;

Шаги для воспроизведения: просто добавьте больше строк и случайный контент - на самом деле не имеет значения.

Есть идеи, как запустить многострочное регулярное выражение? Я знаю, что в этом простом случае я могу использовать другой подход, чтобы проверить сравнение тегов по сравнению с многострочным подходом регулярных выражений, исходная установка немного сложнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...