一些常用的正则(持续更新)

本文介绍了如何使用JavaScript和正则表达式处理HTML字符串,包括拆分带有标签的内容、移除contenteditable标签中的换行和span标签,以及自定义移除特定标签的功能。
摘要由CSDN通过智能技术生成

1、匹配字符串中的所有标签,拆分字符串并且将标签作为单独一项

/(<\/?.+?>)/g

splitStringByTags 函数接受一个参数 inputString,然后使用正则表达式/(<\/?.+?>)/g 来匹配字符串中的所有标签。然后,利用 split() 方法将字符串按照标签拆分成数组,并通过 filter(Boolean) 来去除空字符串项,最终返回包含拆分结果的数组

function splitStringByTags(inputString) {
    var regex = /(<\/?.+?>)/g;
    return inputString.split(regex).filter(Boolean);
}

// 测试函数
var inputString = '<p>This is</p> <b>bold</b> and <i>italic</i>.';
var result = splitStringByTags(inputString);
console.log(result);  
//输出结果:['<p>', 'This is', '</p>', ' ', '<b>', 'bold', '</b>', ' and ', '<i>', 'italic', '</i>', '.']

2、当我们使用contenteditable 属性的标签时,回车事件总是会给我们添加换行 (“

”),且复制粘贴时候也容易被带上 span 标签。所以我们需要处理一下这些标签。

/<\s*(span|div|br)[^>]*>|<\/\s*(span|div)\s*>/gi

let str = string.replace(/<\s*(span|div|br)[^>]*>|<\/\s*(span|div)\s*>/gi,"")//将字符串中的所有 div、br、span标签都去掉

3、移除字符串中某一个标签以及中间包裹的内容。以自定义的 remove 标签为例

/<remove[^>]*>.*?<\/remove>/

let str = string?.replace(/<remove[^>]*>.*?<\/remove>/gi, "");
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值