javascript - 计算表情符号的字符长度?

标签 javascript php validation emoji

我想在新用户在我的页面注册时验证名称。其中一项检查是字符限制是否不超过 100。

但由于像 👩‍❤️‍💋‍👩 这样的单个表情符号(实际上是 4 个表情符号在一起?请参见屏幕截图)计数远远超过 1 个字符,因此我无法验证名称。我想要在名字中允许使用表情符号,因为现在有一颗心、星星或类似的东西很常见,但我不想允许超过 100 个字符的名字。 p>

所以我有这个问题:

  • 如何将一个表情符号算作所有表情符号中的一个字符(如果可能的话)?

PS:我说的是 php 解决方案,但我也可以选择接受 Javascript,即使我不喜欢它。

编辑:我的示例表情符号似乎是这个字符串:\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69

请注意上面提到的这个问题的截图:

The screenshot of this question, please notice the emoji output .

最佳答案

作为一个潜在的 javascript 解决方案(如果你不介意添加一个库),Lodash 在他们的 toArray 中解决了这个问题。模块。

例如,

_.toArray('12👪').length; // --> 3

或者,如果您想从字符串中删除一些任意字符,您可以操纵并重新加入数组,例如:

_.toArray("👪trimToEightGlyphs").splice(0,8).join(''); // --> '👪trimToE'

关于javascript - 计算表情符号的字符长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40362669/

相关文章:

javascript - 如何使用按钮调用 Javascript

javascript - ionic 混合应用程序中的源可见性

php - 如何保护电话号码免受机器人攻击

c++ - 在 C++ 中循环访问 2D tic-tac-toe 数组的好方法?

javascript - jQuery - 检查空输入有效,但仅检查表中的第一行

javascript - 测试某个单词是否存在于 window.location.href 中的条件

javascript - 将文本从文本字段复制到文本区域+标签

php - 使用ajax发送特殊字符并正确接收它们到php

php - 使用 REST API 快速上传图片

jquery - 输入被禁用,直到先前的输入被填充