如何在javascript中计算带有表情符号的字符串的正确长度?
- 论坛
- 如何在javascript中计算带有表情符号的字符串的正确长度?
7 浏览
如何在javascript中计算带有表情符号的字符串的正确长度?
我有一个小问题。
我正在使用NodeJS作为后端。现在,用户有一个字段"biography",用户可以在这个字段中写一些关于自己的东西。
假设这个字段的最大长度是220,假设输入如下:
如你所见,这里没有220个表情符号(只有37个表情符号),但是如果我在我的NodeJS服务器中执行:
console.log(bio.length)
其中bio是输入的文本,我得到的结果是221。我应该如何“解析”字符串输入以获取正确的长度?这是一个关于Unicode的问题吗?
问题已解决
我使用了这个库:https://github.com/orling/grapheme-splitter
我尝试了这样的代码:
var Grapheme = require('grapheme-splitter'); var splitter = new Grapheme(); console.log(splitter.splitGraphemes(bio).length);
这样得到的长度是37。它工作得非常好!