js表情字符串互转

将表情转为字符:

应用场景: 提交表单中的表情符号转为字符串, 便于后台存储.

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;

      lreturn unescape("%u"+H.toString(16)+"%u"+L.toString(16));

    }else{

      return char;

    }

  });

  return result;

}

原文地址:https://www.cnblogs.com/lisixuan/p/11805062.html

时间: 2024-10-21 21:40:10

js表情字符串互转的相关文章

js对象字符串互转

利用原生JSON对象,将对象转为字符串 var jsObj = {}; jsObj.testArray = [1,2,3,4,5]; jsObj.name = 'CSS3'; jsObj.date = '8 May, 2011'; var str = JSON.stringify(jsObj); alert(str); 从JSON字符串转为对象 var jsObj = {}; jsObj.testArray = [1,2,3,4,5]; jsObj.name = 'CSS3'; jsObj.da

json对象字符串互转

json对象字符串互转 1.Node.js中 JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json字符串 2.Jquery中 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 3.javaScript eval('(' + jsonstr + ')'); //可以将json字符串转换成

atitit.js的 字符串内容 转义  js处理html

atitit.js的 字符串内容 转义  js处理html 1. js处理html的问题 1 2. js的 字符串内容 转义 1 2.1. 处理流程 1 3. 下面的表格列出了其余的特殊字符,这些特殊字符都可以使用反斜杠来添加到文本字符串中: 2 4. --code 2 1. js处理html的问题 反斜杠问题 引号问题.回车换行造成的语句中断问题.. 2. js的 字符串内容 转义 一个回车 还有一个换行转义 一个引号转义.. 反斜杠转义 2.1. 处理流程 先替换反斜杠.在引号,在回车,在换

小议 js 下字符串比较大小

之前群里有人问如何比较两个时间大小,他的时间格式是 2014-08-08 而不是 2014-8-8.所以我给的方法是 直接比较,如: var a = "2014-08-08"; var b = "2014-09-09"; console.log(a>b, a<b); // false true 很方便不是么,但是原理是什么呢? 打开 ECMA 第 11.8.5 节 The Abstract Relational Comparison Algorithm在

js 和php 互操cookie 作用域

$.cookie("testcookie", JSON.stringify(data), {       path : '/',       expires : 0      }); //php代码 setcookie("testcookie",time()-3600,); js 和php 互操cookie 作用域,布布扣,bubuko.com

JS常用字符串处理方法总结

1.indexOf()方法,从前往后查找字符串位置,大小写敏感,从0开始计数.同理,lastIndexOf() 方法从后往前,两个方法对于相同的检索条件输出的结果是一样的 例如: <script type="text/javascript"> var str="Hello World!" document.write(str.indexOf("Hello"))//输出0 document.write(str.indexOf("

JS判断字符串长度

这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下: String.prototype.gblen = function() { var len = 0; for (var i=0; i<this.length; i++) { if (this.charCodeAt(i)>127 || this.charCodeAt(

JS中字符串的相关操作

(转自:http://www.cnblogs.com/zhaoxinxin/articles/1402733.html) 一.字符串的创建 创建一个字符串有几种方法. 最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量. var myStr = "Hello, String!"; 可以用双引号或单引号将字符串包含,但要注意,作为界定字符串的一对引号必须是相同的,不能混用. 像var myString = "Fluffy is a pretty cat.'; 这样

JS截取字符串substr 和 substring方法的区别

substr 方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.substr(start [, length ]) 参数 stringvar 必选项.要提取子字符串的字符串文字或 String 对象. start 必选项.所需的子字符串的起始位置.字符串中的第一个字符的索引为 0. length 可选项.在返回的子字符串中应包括的字符个数. 说明 如果 length 为 0 或负数,将返回一个空字符串.如果没有指定该参数,则子字符串将延续到 stringvar 的最后. 示