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

摘要:
1函数EmojiCharacter(子字符串){2for(vari=0;i˂substring.length;i++){3varhs=子字符串charCodeAt(i);4if(0xd800˂=hs&&hs1){6varls=子字符串charCodeAt(i+1);7varuc=((hs
 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             }

免责声明:文章转载自《js-判断字符串中是否存在emoji表情》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇生成pdf入门魅族5.0以上设备(亲测有效)激活Xposed框架的流程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JS 英文不截断单词截取

canRun View Code <html> <head> <title>JS substr</title> <meta http-equiv="Content-Type"content="text/html; charset=utf-8" /> <meta ht...

JS字符编码----ASCII,Unicode 和 UTF-8

转:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 1.ASCII 码 八个二进制位就可以组合出256种状态,这被称为一个字节(byte) 使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符...

AJAX技术框架及开发工具 转

常见的AJAX框架有: DWR - Web Remoting Buffalo - Web Remoting (based on prototype) prototype - JS OO library openrico - JS UI component (based on prototype) dojo - JS library and UI co...

解决IE、firefox浏览器下JS的new Date()的值为Invalid Date、NaN-NaN的问题

当我们需要将一串日期字符串转换为具体的Date格式的时候,往往需要用到new Date("xxxx")方法。 当时在IE浏览器下,会遇到这种问题: new Date('2016-01-01 00:00:00') //却返回这个值Invalid Date,转换失败 但是这个方法却在谷歌浏览器上可以返回正确的结果。 解决方式:最终发现是字符...

[阮一峰]Linux 守护进程的启动方法

"守护进程"(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 一、问题的由来 Web应用写好后,下一件事就是启动,让它一直在后台运行。 这并不容易。举例来说,下面是一个最简单的Node应用server.js,只有6行。 var http = require('http'); http...

JS事件 失焦事件(onblur)onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。

失焦事件(onblur) onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。 如下代码, 网页中有用户和密码两个文本框。当前光标在用户文本框内时(即焦点在文本框),在光标离开该文本框后(即失焦时),触发onblur事件,并调用函数message()。 运行结果:  ...