js过滤html标签的方法
墨初 前端设计 7615阅读
在js中,可以通过 replace() 方法,将一串含有html标签的字符串中的html标签过滤掉,本文就来详细的介绍一下,js中过滤html标签的方法。
js replace() 方法定义与介绍
replace():在字符串中用正则表达式或字符替换另一些字符。
语法:
Object.replace(regexp/substr,replacement)
regexp/substr:字符串或正则表达式
replacement:规定要替换的字符串或函数
js过滤掉不带属性的指定html标签
示例1:
<script> var str = "<p><span>飞鸟慕鱼博客</span><span>feiniaomy.com</span></p>"; nohtmlstr = str.replace(/<span>|<\/span>/gi, ""); console.log(nohtmlstr); </script>
打印结果:
<p>飞鸟慕鱼博客feiniaomy.com</p>
示例2:
<script> var str = "<p><span style='color:#ccc;'>这是测试标签</span><span>这是测试html内容</span></p>"; str = str.replace(/<span>/gi, ""); str = str.replace(/<\/span>/gi, ""); console.log(str); </script>
打印结果:
<p><span style='color:#ccc;'>这是测试标签这是测试html内容</p>
注意:带有属性的html标签,没有被过滤掉!
js过滤掉带属性的指定html标签
示例1:
js代码:
<script> var str = "<p><span style='color:#ccc;'>这是测试标签</span><span>这是测试html内容</span></p>"; nohtml = str.replace(/<span.*?>|<\/span>/ig, ""); console.log(nohtml); </script>
打印结果:
<p>这是测试标签这是测试html内容</p>
示例2:
<script> var str = "<p><span style='color:#ccc;'>这是测试标签</span><span>这是测试html内容</span></p>"; nohtml = str.replace(/<span\s*[^>]*>(.*?)<\/span>/ig, "$1"); console.log(nohtml); </script>
打印结果:
<p>这是测试标签这是测试html内容</p>
js过滤掉所有的html标签
js代码:
<script> var str = "<p><font color=#000000>飞鸟慕鱼博客</font></p><div>mochu</div>"; var nohtml = str.replace(/<\/?.+?>/g, ""); console.log(nohtml); </script>
打印结果:
飞鸟慕鱼博客mochu