Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何编写正则表达式以匹配Donorbox嵌入表单?_Javascript_Regex_Angular_Typescript_Angular9 - Fatal编程技术网

Javascript 如何编写正则表达式以匹配Donorbox嵌入表单?

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

我需要构建一个正则表达式规则,该规则必须验证一个值是否与Donorbox嵌入表单匹配。这是为了确保用户输入代码真正来自Donorbox

Donorbox EmbeddeForm的一个示例:

<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
  • *
    -贪婪地将所有内容匹配零次或多次

请提供一些失败案例,即代码失败的字符串。这会有帮助的。我不知道如何写这样的正则表达式。看起来是个好的开始。我正在测试它。请提供一些失败案例,例如代码失败的字符串。这会有帮助的。我不知道如何写这样的正则表达式。看起来是个好的开始。我正在测试它。