zoukankan      html  css  js  c++  java
  • 可编辑div emoji 表情处理

    DIV 设置可编辑 contenteditable=true

     <div contenteditable=true id="divTest"></div>

    数据库存入需要将表设置为utf8mb4 编码格式

    如果对数据处理,例如转为json数据,emoji 表情将无法存入数据库,需要对 emoji 表情做转码处理

    function utf16toEntities(str) {
                var patt=/[ud800-udbff][udc00-udfff]/g;
                // 检测utf16字符正则
                str = str.replace(patt, function(char){
                    var H, L, code;
                    if (char.length===2) {
                        H = char.charCodeAt(0);
                        // 取出高位
                        L = char.charCodeAt(1);
                        // 取出低位
                        code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00;
                        // 转换算法
                        return "&#" + code + ";";
                    } else {
                        return char;
                    }
                });
                return str;
            }

    从数据库取出做解码处理

    //表情解码
    function uncodeUtf16(str){
         var reg = /&#.*?;/g;
         var result = str.replace(reg,function(char){
         var H,L,code;
         if(char.length == 9 ){
              code = parseInt(char.match(/[0-9]+/g));
               H = Math.floor((code-0x10000) / 0x400)+0xD800;
               L = (code - 0x10000) % 0x400 + 0xDC00;
               return unescape("%u"+H.toString(16)+"%u"+L.toString(16));
           }else{
                 return char;
            }
        });
        return result;
    }
  • 相关阅读:
    每日算法
    每日算法
    每日算法
    每日算法
    2020 蓝桥杯(省赛)校内模拟赛
    js 时间戳转特定格式的日期
    js正则表达式 replace替换url的参数
    7月/暑假集训总结1
    模板(ac):启发式合并
    [考试反思]0729NOIP模拟测试10
  • 原文地址:https://www.cnblogs.com/xuey/p/12165434.html
Copyright © 2011-2022 走看看