繁体   English   中英

正则表达式检查字符串中是否有任何有效的脚本标签

[英]regex check if there are any valid script tags in string

我想匹配 HTML 字符串中的脚本标记,其中可能有也可能没有注释。

一些例子,

<!-- <script>...</script> --> <script src='test.js'></script>
<!-- <script>...</script> -->

我只想匹配第一个示例。

这是我想出的,但它不起作用,任何帮助表示赞赏。 谢谢

/(<!--.*?-->)*.*<script[\s>\/]/gmi

使用DOMParser解析您的字符串以获取 HTML 树,然后使用querySelectorAll来计算元素。

请参阅下面的片段:

 var str = "<!-- <script>...<\\/script> --> <script src='test1.js'><\\/script><!-- <script>...<\\/script> --><script src='test2.js'><\\/script>"; var parser = new DOMParser(); var doc = parser.parseFromString(str, 'text/html'); var howManyScripts = doc.querySelectorAll('script').length; console.log(howManyScripts);

尝试使用这个正则表达式:

<script src=['"]{1}.+['"]{1}>[.\s]*<\/script>

此正则表达式适用于大多数脚本标记情况

例如。 <script src="myscript.js"></script>

/([<&][az]*[;]*)(script( .+[=]["'].+["'])*)([>&]*[az]*[;]*)([^>]*([<&][az]*[;]*)*(\\/script)([>&]*[az]*[;]*))*/gi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM