Как написать регулярное выражение для соответствия Donorbox EmbedForm? - PullRequest
0 голосов
/ 09 июля 2020

Мне нужно создать правило Regex, которое должно проверять, соответствует ли значение форме внедрения Donorbox. Это гарантирует, что коды ввода пользователя действительно поступают из Donorbox.

Пример Donorbox EmbedForm:

<script src="https://donorbox.org/widget.js" paypalExpress="false"></script>
<iframe src="https://donorbox.org/embed/..." allowpaymentrequest="" frameborder="0"></iframe>

Регулярному выражению необходимо знать, являются ли они тегами script и iframe, затем посмотрите на оба тега sr c для проверки домена.

То, что я сделал до сих пор:

<textarea (change)="donorBoxEmbedFormVerification(e)" type="text"></textarea>
        
donorBoxEmbedFormVerification(embedHtml: string):boolean {
   // need some help
   console.log(embedHtml.match('<\s*script[^>]*>(.*?)<\s*/\s*script>'));
   return true;
}

Любая помощь по регулярному выражению будет признательна,

С уважением,

Саманта

1 Ответ

2 голосов
/ 09 июля 2020

Кажется, что вы хотите сопоставить все такие HTML элементы формы, которые содержат атрибут src, который имеет donorbox в качестве подстроки. В этом случае; вы можете попробовать:

^(?=.*src="https:\/\/donorbox\.org.*).*

Объяснение приведенного выше регулярного выражения:

  • ^ - обозначает начало строки.
  • (?=.*src="https:\/\/donorbox\.org.*) - представляет положительный прогноз, утверждающий, что атрибут src равен https://donorbox.org.
  • .* - Жадно совпадение всего ноль или более раз.

Regex Demo

...