Javascript 如何编写正则表达式以匹配Donorbox嵌入表单?
我需要构建一个正则表达式规则,该规则必须验证一个值是否与Donorbox嵌入表单匹配。这是为了确保用户输入代码真正来自Donorbox Donorbox EmbeddeForm的一个示例:Javascript 如何编写正则表达式以匹配Donorbox嵌入表单?,javascript,regex,angular,typescript,angular9,Javascript,Regex,Angular,Typescript,Angular9,我需要构建一个正则表达式规则,该规则必须验证一个值是否与Donorbox嵌入表单匹配。这是为了确保用户输入代码真正来自Donorbox Donorbox EmbeddeForm的一个示例: <script src="https://donorbox.org/widget.js" paypalExpress="false"></script> <iframe src="https://donorbox.org/embe
<script src="https://donorbox.org/widget.js" paypalExpress="false"></script>
<iframe src="https://donorbox.org/embed/..." allowpaymentrequest="" frameborder="0"></iframe>
正则表达式需要知道它们是否是脚本和iframe标记,然后查看这两个src标记以验证域
到目前为止我所做的:
<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;
}
donorBoxEmbedFormVerification(嵌入HTML:string):布尔值{
//需要帮忙吗
console.log(embedHtml.match(']*>(.*));
返回true;
}
任何关于regex的帮助都将不胜感激
问候,
Samantha您似乎希望匹配所有包含
src
属性的HTML表单元素,该属性将donorbox
作为子字符串。本案,;你可以尝试:
^(?=.*src="https:\/\/donorbox\.org.*).*
对上述正则表达式的解释:
-表示行的开始^
-表示一种积极的前瞻性,断言(?=.*src=“https:\/\/donorbox\.org.*)
属性等于src
https://donorbox.org
-贪婪地将所有内容匹配零次或多次*
您似乎希望匹配所有包含
src
属性的HTML表单元素,该属性将donorbox
作为子字符串。对于这种情况,您可以尝试:
^(?=.*src="https:\/\/donorbox\.org.*).*
对上述正则表达式的解释:
-表示行的开始^
-表示一种积极的前瞻性,断言(?=.*src=“https:\/\/donorbox\.org.*)
属性等于src
https://donorbox.org
-贪婪地将所有内容匹配零次或多次*
请提供一些失败案例,即代码失败的字符串。这会有帮助的。我不知道如何写这样的正则表达式。看起来是个好的开始。我正在测试它。请提供一些失败案例,例如代码失败的字符串。这会有帮助的。我不知道如何写这样的正则表达式。看起来是个好的开始。我正在测试它。