首页  >  文章  >  web前端  >  如何使用正则表达式可靠地检测和识别 JavaScript 中的表情符号?

如何使用正则表达式可靠地检测和识别 JavaScript 中的表情符号?

Patricia Arquette
Patricia Arquette原创
2024-10-25 03:30:29993浏览

How can I reliably detect and identify emojis in JavaScript using regular expressions?

使用正则表达式识别 JavaScript 中的表情符号

由于其 unicode 表示形式,在 JavaScript 中检测表情符号可能具有挑战性。虽然之前建议的方法依赖于 mumeric 范围,但这种方法不可靠且不灵活。

幸运的是,现代浏览器现在支持 Unicode 属性转义。这样可以根据表情符号的 unicode 类别进行精确匹配。具体来说,“p{Emoji}”属性转义匹配所有表情符号。

但是,需要注意的是,0123456789#* 和类似字符被正式归类为表情符号。为了避免匹配这些字符,可以使用“p{Extended_Pictographic}”属性转义,它的目标字符通常被理解为表情符号。

为了确保兼容性,请在常规末尾使用“u”标志表达式。

示例:

<code class="javascript">console.log(
  /\p{Emoji}/u.test('flowers'), // false :)
  /\p{Emoji}/u.test('flowers ???'), // true :)
  /\p{Emoji}/u.test('flowers 123'), // true :( 
)

console.log(
  /\p{Extended_Pictographic}/u.test('flowers'), // false :)
  /\p{Extended_Pictographic}/u.test('flowers ???'), // true :)
  /\p{Extended_Pictographic}/u.test('flowers 123'), // false :)
)</code>

以上是如何使用正则表达式可靠地检测和识别 JavaScript 中的表情符号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn