JavaScript正则表达式移除HTML中所有的script标签

网页中为了屏蔽JS带来的垃圾内容等;

可以用JS通过正则表达式来把HTML中所有的script标签全部移除掉;(移除/过滤/删除)

场景:社交网站(特别是bbs之类),经常会有充许用户输入html样式代码,却禁止脚本的运行的需求,

核心演示代码如下

function stripScript(s) {
return s.replace(/<script.*?>.*?<\/script>/ig, '');
}

var oHeader=document.getElementById("header");
oHeader.innerText=stripScript(oHeader.innerText);

正则分析;主要也就是下面这段的代码

return s.replace(/<script.*?>.*?<\/script>/ig, ”);

用的模式是不区分大小写,并且全文匹配;

前后两个script标签,就是匹配成功的;

然后用空字符串””来替换匹配到的内容;

这样就把指定范围内的所有script标签全部移除了;

~~

未经允许不得转载:WEB前端开发 » JavaScript正则表达式移除HTML中所有的script标签

赞 (3)