后台给的备注的长度是string 20,也就是中文只能放6个字符,英文能放20个。我用maxlength限制的话,6就太小,20的话也有问题。放中文就报错了。所以我该怎么判断这个字符串的长度呢。汉字字符 英文字符中文标点 英文标点 空格这些在UTF-8里面各自占几个字节。。我是不是只能把字符串拆分然后判断里面英文几个中文几个中文标点几个英文标点几个空格几个来判断?
1 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
javascript 没有原生支持计算字符串字节长度的方法,但如果你清楚的知道你的字符串的字符编码,比如是utf-8,那么你可以通过下面这个函数进行计算。
function lengthInUtf8Bytes(str) {
// Matches only the 10.. bytes that are non-initial characters in a multi-byte sequence.
var m = encodeURIComponent(str).match(/%[89ABab]/g);
return str.length + (m ? m.length : 0);
}
添加回答
举报
0/150
提交
取消