Unicode表情符号的JavaScript正则表达式 [英] JavaScript regular expression for Unicode emoji

查看:21
本文介绍了Unicode表情符号的JavaScript正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用图标替换字符串中的所有表情符号。我成功地将这些:{:) :D :P :3 <3 XP .... etc}替换为图标,因此,如果用户在字符串中写入:),它将被替换为图标。

但我有一个问题:如果用户直接粘贴等于:)的unicode😊怎么办?

我需要的:如何将Unicode图标更改为类似ud800-udbff的JavaScript正则表达式。我有很多表情包,所以我需要一个转换的想法,转换后,我想把它们和正则表达式匹配起来。

示例:😁WEW😁
将这些表情符号更改为uD83DuDE01|uD83DuDE4F|。我不知道如何更改它们,所以我需要知道如何将任何表情符号更改为这些字符。

推荐答案

在ECMAScript6中,您应该能够以一种相当简单的方式检测到它。我已经编译了一个由不同Unicode块组成的简单正则表达式,即:

正则表达式:

/[u{1f300}-u{1f5ff}u{1f900}-u{1f9ff}u{1f600}-u{1f64f}u{1f680}-u{1f6ff}u{2600}-u{26ff}u{2700}-u{27bf}u{1f1e6}-u{1f1ff}u{1f191}-u{1f251}u{1f004}u{1f0cf}u{1f170}-u{1f171}u{1f17e}-u{1f17f}u{1f18e}u{3030}u{2b50}u{2b55}u{2934}-u{2935}u{2b05}-u{2b07}u{2b1b}-u{2b1c}u{3297}u{3299}u{303d}u{00a9}u{00ae}u{2122}u{23f3}u{24c2}u{23e9}-u{23ef}u{25b6}u{23f8}-u{23fa}]/ug

游乐场: play around with emoji and regex

此答案没有直接回答问题,但提供了有关如何使用Unicode块和ES6处理emoji表情的详细信息。

这篇关于Unicode表情符号的JavaScript正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆