JS正则去掉文字两边的html标签

想要的效果大概是这样的

var str = '<div class="red">abc,1234</div><p>defg</p>';

想把 <div> 和 <p> 标签去掉,只留中间的 abc,1234 和 defg 

 

在网上看到很多人写的方法,感觉很麻烦,所以自己写了一个,留作备份

原理嘛,就是尖括号<> 中间不可以再插入尖括号

像这么写是不对的 <   >  >,中间多了的尖括号会被认为是标签提前结束

所以,除了尖括号 <> 以外的任何字符,都会被替换掉

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>去掉标签</title>
</head>

<body>

<script>


    var str = '<div class="red">abc,1234</div><p>defg</p>';

    var reg = /<[^<>]+>/g;
    
    console.log( str.replace(reg, '') );
</script>
</body>
</html>

 

posted @ 2018-10-08 11:10  __枫伊飘渺  阅读(1994)  评论(2编辑  收藏  举报