emoji表情 检验

主要是为了在移动端输入框(input、textarea)输入emoji表情时,做校验。
移动端直接输入emoji表情,如:😊

参考文章:

  1. 阮一峰 Unicode与JavaScript详解
  2. 移动前端手机输入法自带emoji表情字符处理
  1. emoji表情用到的字符是4字节的UTF-16编码(utf-16有2字节和4字节两种编码)。
  2. javascript采用的是unicode编码(2字节的ucs-2编码)。
  3. emoji表情在js中被自动拆分成两个ucs-2的2字节字符。
  4. 4字节utf-16在js中被用两个字符来表示,高位范围为0xD800 - 0xDBFF,低位范围为0xDC00 - 0xDFFF
  5. 检测正则/[\uD800-\uDBFF][\uDC00-\uDFFF]/g
HTML:
<input type="text"  id="emojiStr">
JS:
var str=$.trim($("#emojiStr").val());
var patt = /[\ud800-\udbff][\udc00-\udfff]/g; // 检测utf16字符正则
if(patt.test(str)){
    alert("输入的字符非法!");
}
20150806190313935.png
😊表情对应%uD83d%uDE03
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Unicode编码方案概述 1. 前面讲过,随着计算机发展到世界各地,于是各个国家和地区各自为政,搞出了很多既兼容...
    笨笨阿林阅读 1,090评论 0 8
  • 之前突然发现自己对字符编码还是一知半解,基本上只是听说过各种编码的名字,对它们之间的特点和区别还是不甚了解。所以这...
    L_Zephyr阅读 2,056评论 0 4
  • 花开人已散 花好又逢人 语花花不言 思花人憔悴 他言花有尽 却道情永存 笑对君戏语 花落尽朝暮 人散终有时
    沈昕啦啦啦阅读 370评论 2 4
  • 这段时间,一篇《二十几岁住在哪里对你有多重要》红遍朋友圈,作者孙晴悦指出,“你年轻时候居住过的地方,影响着你的一生...
    怡记阅读 1,437评论 5 8
  • 冯磊小朋友❤ 如果可以 从今天之前 到明天之后 让我一直喜欢你 每天如此 春去秋复来,你若不紧不慢梧桐有枝,我必是...
    景慧_7e32阅读 598评论 3 2