【发布时间】:2022-06-23 20:47:21
【问题描述】:
检测表情符号(通常意义上的“表情符号”)的JS代码很简单:
let str = "...";
if(/\p{Extended_Pictographic}/u.test(str)) {
// do something
}
是否有一些同等简单的方法来检测可以有效添加肤色修饰符的表情符号?
一个关键要求是,随着越来越多的表情符号被添加,或者现有的表情符号变得可以肤色,多年来我不必更新正则表达式。基本上我想知道是否有类似Skin Unicode 属性转义的东西,或者其他一些优雅且面向未来的解决方案。
注意事项:
- 它必须在没有 DOM 访问的情况下工作(即服务器端、worker 等)。
- 请注意,目标不是检测肤色修饰符,而是检测可以有效添加肤色修饰符的表情符号 - 例如。正则表达式/函数应匹配
????(没有肤色修饰符,但添加一个有效)。 - 我想强调的是,一个大而老的 unicode-ranges 正则表达式不是面向未来的不符合我的特定用例的要求。但请注意,一堆 Unicode 范围确实符合要求如果它是未来的证明。
- This question 在考虑标题时似乎很相似,但在阅读问题的主体时,它提出了一个不同的问题。
【问题讨论】:
-
因此,OP 正在寻找一种解决方案,以证明 ... thumbs up default 及其 skin tone combinations ..?
-
嗨@PeterSeliger,我们的目标是检测像????、????、????等可以有效地添加肤色修饰符的表情符号(在面向未来的方式,因为可以添加更多表情符号,并且可以调整规范以允许现有表情符号具有肤色变化)。
标签: javascript unicode unicode-escapes