我想在新用户在我的页面注册时验证名称。其中一项检查是字符限制是否不超过 100。
但由于像 👩❤️💋👩 这样的单个表情符号(实际上是 4 个表情符号在一起?请参见屏幕截图)计数远远超过 1 个字符,因此我无法验证名称。我想要在名字中允许使用表情符号,因为现在有一颗心、星星或类似的东西很常见,但我不想允许超过 100 个字符的名字。 p>
所以我有这个问题:
- 如何将一个表情符号算作所有表情符号中的一个字符(如果可能的话)?
PS:我说的是 php 解决方案,但我也可以选择接受 Javascript,即使我不喜欢它。
编辑:我的示例表情符号似乎是这个字符串:\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69
请注意上面提到的这个问题的截图:
最佳答案
作为一个潜在的 javascript 解决方案(如果你不介意添加一个库),Lodash 在他们的 toArray 中解决了这个问题。模块。
例如,
_.toArray('12👪').length; // --> 3
或者,如果您想从字符串中删除一些任意字符,您可以操纵并重新加入数组,例如:
_.toArray("👪trimToEightGlyphs").splice(0,8).join(''); // --> '👪trimToE'
关于javascript - 计算表情符号的字符长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40362669/