这几天在做项目的时候需要用到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 ))

 

posted on 2014-08-24 21:09  懒人研究所  阅读(2156)  评论(0)    收藏  举报