如何从文本区域解析花哨的文本

How to Parse the Fancy Text From Text Area

提问人:Shoaib Fareed 提问时间:2/14/2023 最后编辑:Shoaib Fareed 更新时间:2/17/2023 访问量:97

问:

在文本区域复制粘贴花哨的文本和表情符号时,我遇到了一些问题,

喜欢😋🅵🅰🅽🅲🆈 🆃🅴🆇🆃 🅶🅴🅽🅴🆁🅰🆃🅾🆁

我已使用以下代码删除了表情符号:

e.content.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g, '')

还想删除特殊字体和花哨的文字,但没有找到方法。

有什么办法可以解决这个问题,就像我为表情符号所做的那样。

JavaScript 正则表达式 字体 HTML 解析

评论

2赞 Wiktor Stribiżew 2/14/2023
尝试.replace(/[\u{1F170}-\u{1F189}]+/gu, '')
0赞 Yogi 2/14/2023
@WiktorStribiżew - 当我运行 OP 的代码时,它似乎已经删除了“花哨的文本”,您能否解释一下为什么它有效,以及它是否像您的示例中那样更好?\uD83C[\uDC00-\uDFFF][\u{1F170}-\u{1F189}]
0赞 Shoaib Fareed 2/14/2023
@WiktorStribiżew这起作用了,但对于某些人来说,像从 MS 艺术字中复制它这样的花哨文本是将文本转换为特殊字符。
0赞 Wiktor Stribiżew 2/14/2023
@shoaibMunir 你不觉得复制文本在这里超出了范围吗?如果复制/粘贴起作用,则您的应用程序/操作系统设置存在问题。
0赞 Shoaib Fareed 2/15/2023
@WiktorStribiżew不,我的意思是,在尝试修复之前,您建议在 Textarea 中显示 MS Word 中的文本完全相同,但现在修复后它会转换为特殊字符,例如“%&$#”,以防出现其他花哨的文本,此修复程序工作正常。无论如何也要省略这些特殊字符?

答:

1赞 Wiktor Stribiżew 2/17/2023 #1

ECMAScript 6 正则表达式解决方案匹配平方字母是

.replace(/[\u{1F170}-\u{1F189}]+/gu, '')

若要匹配数学符号和标点符号,可以使用以下符合 ECMAScript 2018+ 的正则表达式:

.replace(/[\u{1F170}-\u{1F189}\p{P}\p{S}]+/gu, '')

需要该标志才能使表示法和 Unicode 类别正常工作。u\u{XXXX}\p{X}

图案细节

  • \u{1F170}-\u{1F189}- 平方字母
  • \p{P}- 标点符号正确
  • \p{S}- 数学符号。