js-判断字符串中是否存在emoji表情

 1 function isEmojiCharacter(substring) {
 2                 for(var i = 0; i < substring.length; i++) {
 3                     var hs = substring.charCodeAt(i);
 4                     if(0xd800 <= hs && hs <= 0xdbff) {
 5                         if(substring.length > 1) {
 6                             var ls = substring.charCodeAt(i + 1);
 7                             var uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
 8                             if(0x1d000 <= uc && uc <= 0x1f77f) {
 9                                 return true;
10                             }
11                         }
12                     } else if(substring.length > 1) {
13                         var ls = substring.charCodeAt(i + 1);
14                         if(ls == 0x20e3) {
15                             return true;
16                         }
17                     } else {
18                         if(0x2100 <= hs && hs <= 0x27ff) {
19                             return true;
20                         } else if(0x2B05 <= hs && hs <= 0x2b07) {
21                             return true;
22                         } else if(0x2934 <= hs && hs <= 0x2935) {
23                             return true;
24                         } else if(0x3297 <= hs && hs <= 0x3299) {
25                             return true;
26                         } else if(hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 ||
27                             hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b ||
28                             hs == 0x2b50) {
29                             return true;
30                         }
31                     }
32                 }
33             }

 

posted @ 2017-02-15 15:26  抠得儿  阅读(2811)  评论(0编辑  收藏  举报