去除字符串中的p标签(正则表达式)

最近的一个需求,wangeditor富文本编辑器会自带p标签,会导致渲染出来的由于p标签换行会导致样式出现问题,但是目前没找到wangeditor不带p标签的方法,于是乎,换了个思路,用正则把字符串中带的p标签全部替换掉,亲测有效。

首先看看数据结构:

 //数据

var str ='<p>&nbsp;这是一个多选题</p>&nbsp;<p>&nbsp;<img src="https://obs-cn-sxlc.obs.cn-southwest-2.myhuaweicloud.com/2023/3/30/1680156209340.jpeg" style="max-width:100%;" contenteditable="false"/></p>';

 //替换第一个p标签

   var str1 = x.replace(/<p>([^<]*?)<\/p>/gi, '$1')

   //替换所有p标签

    var str2 = x.replace(/<p>/g, function (match) {

         return match = ''

     }).replace(/<\/p>/g, function (match) {

         return match = ''

     }).replace(/&nbsp;/g, function (match) {

          return match = ''

   })

实现效果如下:

 

一些常用的正则表达式记录:

 // 英文数字
   /^[A-Za-z0-9]*$/,

  // 身份证
     /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-            
     9])|10|20|30|31)\d{3}[0-9Xx]$/,

  // 中英文数字
     /^[\u4E00-\u9FA5A-Za-z0-9]+$/,

  // 非负数包含小数
     /^\d+(\.{0,7}\d+){0,1}$/,

  // 是不是数字
     /(^[\-0-9][0-9]*(.[0-9]+)?)$/,

  // 最多两位小数
     /^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/,

  //是否是邮箱
     /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/

   //是否是中文
     /^[\u4E00-\u9FA5]{2,4}$/

   //是否是小写字母
     /^[a-z]+$/

   //是否是大写字母开头
    /^[A-Za-z]+$/

   //以什么开头(例ROLE_开头)
    /^ROLE_.*/

   //不以什么开头(例不以ROLE_开头)
    /^(?!ROLE_).*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值