我有点问题。
我使用 NodeJS 作为后端。现在,用户有一个字段“传记”,用户可以在其中写一些关于他自己的东西。
假设该字段的最大长度为 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。效果很好!