一、js判断文本中是否有表情符号表情

isEmojiCharacter(substring){
for ( var i = 0; i <substring.length; i ++){
var hs = substring.charCodeAt(i);
if (0xd800 <= hs && hs <= 0xdbff){
if (substring.length> 1){
var ls = substring.charCodeAt(i + 1);
var uc =((hs - 0xd800)* 0x400)+(ls - 0xdc00)+ 0x10000;
if (0x1d000 <= uc && uc <= 0x1f77f){
返回true ;
}
}
} 否则如果 (substring.length> 1){
var ls = substring.charCodeAt(i + 1);
if (ls == 0x20e3){
返回true ;
}
} else {
如果 (0x2100 <= hs && hs <= 0x27ff){
返回true ;
} else if (0x2B05 <= hs && hs <= 0x2b07){
返回true ;
} else if (0x2934 <= hs && hs <= 0x2935){
返回true ;
} else if (0x3297 <= hs && hs <= 0x3299){
返回true ;
} else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030
|| hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b
|| hs == 0x2b50){
返回true ;
}
}
}
}

二、js文件过滤的表情符号表情

    使用JS过滤表情符号表情的主要原因:输入标签中输入表情符号表情,表单提交后插入数据库。报错原因:
因为UTF-8编码有可能是两个,三个,四个字节.Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。
于是找到两个解决方案:
1.将Mysql的编码从utf8转换成utf8mb4
2.前端JS校验过滤掉emoji表情

JS判断与过滤的表情符号表情的方法的更多相关文章

  1. 通过 JS 判断页面是否有滚动条的简单方法

    前言 最近在写插件的过程中,需要使用 JS 判断是否有滚动条,搜了一下,大致方法都差不多,但都有些啰嗦,代码不够简洁.最终通过参考不同方法,写了一个比较简单的方法.在判断滚动条的同时也需要计算滚动条的 ...

  2. js判断两个日期是否相等的方法

    今天优化代码的时候,发现一个问题,js比较日期是否相等时,我用==去比较,发现两个时间不相等但是运行结果却是true,然后去百度了下发现oldStartTime, startTime都是对象,类型为引 ...

  3. js 中 前端过滤数据到后端的方法

    第一种方法: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF- ...

  4. js判断是否是大小写,数字等方法

    function isEmail(str){ var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9- ...

  5. JS判断字符串是否包含某字符串 indexOf()方法使用

    定义和用法 indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置. 开始的.如果没有找到子字符串,则返回 -1. 示例: <script type="text/jav ...

  6. js 判断值为Array or Object的方法

    ①obj instanceof Array / Object ②Array.prototype.isPrototypeOf(obj) ③Object.prototype.toString.call(o ...

  7. js判断pc端和移动端的方法

    function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", " ...

  8. js判断上传文件大小

    下面提供三款网页特效判断上传文件大小哦,这三种方法是现在限制文件上传大小比较好的方法,可以在客户上传文件时限制上传文件大小判断处理<!doctype html public "-//w ...

  9. UITextView/UITextField检测并过滤Emoji表情符号

    UITextView/UITextField检测并过滤Emoji表情符号 本人在开发过程中遇到过这种情况,服务器端不支持Emoji表情,因此要求客户端在上传用户输入时,不能包含Emoji表情.在客户端 ...

随机推荐

  1. css图片上加文字

    第一种方法: 添加一个DIV,采用绝对定位,图片所属DIV为基准 <div style="position:relative;width:100px;height:100px;&quo ...

  2. leetcode-104.二叉树最大深度 · BTree + 递归

    easy 题就不详细叙述题面和样例了,见谅. 题面 统计二叉树的最大深度. 算法 递归搜索二叉树,返回左右子树的最大深度. 源码 class Solution { public: int maxDep ...

  3. ASE19团队项目 beta阶段 model组 scrum5 记录

    本次会议于12月6日,19时30分在微软北京西二号楼sky garden召开,持续20分钟. 与会人员:Jiyan He, Lei Chai, Linfeng Qi, Xueqing Wu, Kun ...

  4. Linux下安装php报错:libxml2 not found. Please check your libxml2 installation

    ubuntu/debian: apt-get install libxml2-dev centos/redhat: yum install libxml2-devel

  5. oracle通过一个字段分组,取另一个字段的最大值

    select * from bdcdj.lqentry1 a  where 顺序号 in (select max(顺序号) from bdcdj.lqentry1 b WHERE b.archival ...

  6. Js调用本地exe的方式

    1.     使用记事本(或其他文本编辑器)创建一个myprotocal.reg文件,并写入以下内容 Windows Registry Editor Version 5.00 [HKEY_CLASSE ...

  7. Linux开机启动项总结

    在应急响应时有时会遇到系统被植入后门,添加启动项等操作,如果不清楚启动项的话,可能会被黑客植入一些开机启动项,无法彻底清除后门程序,所以在这梳理下启动项的东西 1.操作系统接管硬件以后,首先读入 /b ...

  8. 云服务器搭建Jupyter-主要部分为配置服务器安全组

    最近在腾讯上租了一个服务器,在CSDN上看到了一个在服务器上搭建Jupyter的帖子,就跟着介绍做了一下. 参考CSDN帖子链接:https://blog.csdn.net/ds19991999/ar ...

  9. python3 基础二——基本的数据类型一

    一.基本的数据类型 Python3 中有六个标准的数据类型Number(数字). String(字符串). List(列表) .Tuple(元组). Sets(集合) .Dictionary(字典) ...

  10. Linux系统运维之修炼秘法

    在这个现如今的互联网高速发展的时代,如何才能保持住一门铁的饭碗.无疑最稳妥的自然就是选择一门任何时代都不会落伍的技能,来选择深入学习研究.大家可能觉得这一期的Linux就该这么学的话题比较世俗.但是不 ...