使用javascript正则表达式删除所有脚本

使用javascript正则表达式删除所有脚本,javascript,regex,Javascript,Regex,我试图用javascript中的正则表达式从下面类型的字符串中删除所有包含内容的脚本标记。 但我还是得到了输出: ");</script> ”; 当它应该是空字符串时 代码是: var BG = '<script type="text/javascript">document.write("<script type=\"text\/javascript\" src=\"http:\/\/site;js=y;target=_blank;time="+ (windo

我试图用javascript中的正则表达式从下面类型的字符串中删除所有包含内容的脚本标记。 但我还是得到了输出:

");</script>
”;
当它应该是空字符串时

代码是:

var BG = '<script type="text/javascript">document.write("<script type=\"text\/javascript\" src=\"http:\/\/site;js=y;target=_blank;time="+ (window.emediate_time ? window.emediate_time : window.emediate_time = new Date().getTime()) +"1053997930;"><\/script>");</script><script type="text/javascript" src="some?cre=mu;js=y;target=_blank"></script>';

BG = BG.replace(/<\s*script.*?>.*?(<\s*\/script.*?>|$)/ig,'');
var BG='document.write(“”;');
BG=BG.替换(/.*(|$)/ig,);
请告诉我出了什么问题以及如何解决。谢谢。

试试这个:

(/<.*?script.*?>.*?<\/.*?script.*?>/igm, '')
(/.*?/igm,”)

(/.*?/igm,”)

(您需要“m”开关来搜索多行)

/这对我来说是个好答案!您需要使用“m”开关来搜索多行。不需要多行模式,脚本标记必须以
开头。您没有正确理解多行模式。它仅在正则表达式包含
^
$
时使用,并且您希望它们匹配行的开始和结束,而不是t他把整根绳子都捆起来了。
(/<script.*?>.*?<\/script>/igm, '')