js 替换 script 标签内容,包括 换行符

这几天在做项目的时候需要用到js替换 script 标签内的内容

用自己写的字符串去匹配都能成功,但是一旦将大串的DOM内容去匹配的时候

却一直提示失败。

上网查了很多资料,一直匹配不了,调试了很久

郁闷的时候,灵光一闪,难不成是换行的问题,一测试,果然如此

var str = ‘lkjkjk‘
+‘<SCRIPT type=text/html>  abc </SCRIPT>‘

var reg = /<script.*>.*<\/script>/gi
alert(reg.test(str))

提示TRUE

 

var str = ‘lkjkjk‘
+‘<SCRIPT type=text/html>  abc\n </SCRIPT>‘

var reg = /<script.*>.*<\/script>/gi
alert(reg.test(str))

提示False

 

最后将换行符加入匹配规则,成功

var str =‘<SCRIPT type=text/html>  ffff  \n</SCRIPT>‘

var reg = /<script.*>([\s\S]*?)<\/script>/gi
alert(reg.test(str ))

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。