不同的浏览器在maxlength字段中允许不同数量的表情符号字符

时间:2017-11-16 01:35:27

标签: javascript html emoji

我试图创建一个匹配数据库限制为100个字符的html输入字段。我有一个支持表情符号的utf8mb4数据库,但问题是浏览器和数据库都以不同的方式计算表情符号的长度。

表情符号是代码点U + {1F600}。

  • db会将此代码点U+{1F600}计为1个条目。所以我可以在db条目中输入100。
  • Safari中的
  • maxlength计算单个代码点,"" == 1.所以我可以输入预期的100。
  • Chrome中的
  • maxlength计算代理对U+D83D, U+DE00,因为原始代码点大于2个字节,"" == 2.所以我只能在表格中输入50。

鉴于不同的浏览器会根据表单的maxlength属性处理不同长度的表情符号,那么在跨浏览器的表单中接受最多100个表情符号的最简洁方法是什么?

0 个答案:

没有答案