富文本编辑器,如:百度编辑器等,基于安全考虑默认都会自动过滤处理脚本标签。但如果是简单的textarea标签,我们就需要自己去实现这块的处理,会涉及到js里面的正则表达式的运用技巧。
js 正则表达式转义除a、b、img标签外的所有html标签
写法一:
'<script>alert(111)</script><img/><a>222</a>333<b>444</b><iframe src=""></iframe>'.replace(/<(?!\/?(a|b|img))(.*?)>/g,'<$2>');
写法二:
'<script>alert(111)</script><img/><a>222</a>333<b>444</b><iframe src=""></iframe>'.replace(/<(?!\/?(a|b|img))(.*?)>/g,function(word,p1,p2){
return `<${p2}>`
});
写法一跟写法二其实是同属一个方法,区别在于调用replace()方法时调用的第二个参数形式不一样而已!
3条评论( 网友:3 条,站长:0 条 ) 网友评论{有您的评论更精彩....}