簡體   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