需求:将一段字符串中出现的特定字符替换为指定的图片或其它 解决办法:

<script>
var json = '[{"title":"微笑","src":14},{"title":"撇嘴","src":2},{"title":"色","src":3},{"title":"发呆","src":4},{"title":"得意","src":5},{"title":"流泪","src":200},{"title":"害羞","src":6},{"title":"闭嘴","src":7},{"title":"睡","src":8},{"title":"大哭","src":9},{"title":"尴尬","src":10},{"title":"发怒","src":11},{"title":"调皮","src":12},{"title":"呲牙","src":13},{"title":"惊讶","src":1},{"title":"难过","src":15},{"title":"酷","src":16},{"title":"冷汗","src":63},{"title":"抓狂","src":17},{"title":"吐","src":18},{"title":"偷笑","src":19},{"title":"可爱","src":20},{"title":"白眼","src":21},{"title":"傲慢","src":22},{"title":"饥饿","src":23},{"title":"困","src":24},{"title":"惊恐","src":25},{"title":"流汗","src":26},{"title":"憨笑","src":27},{"title":"大兵","src":28},{"title":"奋斗","src":29},{"title":"咒骂","src":201},{"title":"疑问","src":30},{"title":"嘘","src":31},{"title":"晕","src":32},{"title":"折磨","src":202},{"title":"衰","src":33},{"title":"骷髅","src":34},{"title":"敲打","src":35},{"title":"再见","src":36},{"title":"察汗","src":203},{"title":"抠鼻","src":64},{"title":"鼓掌","src":65},{"title":"糗大了","src":66},{"title":"坏笑","src":67},{"title":"左哼哼","src":68},{"title":"右哼哼","src":69},{"title":"哈欠","src":70},{"title":"鄙视","src":71},{"title":"委屈","src":72},{"title":"快哭了","src":73},{"title":"阴险","src":74},{"title":"亲亲","src":75},{"title":"吓","src":76},{"title":"可怜","src":77},{"title":"菜刀","src":204},{"title":"西瓜","src":62},{"title":"啤酒","src":205},{"title":"篮球","src":206},{"title":"兵乓","src":207},{"title":"咖啡","src":8},{"title":"饭","src":49},{"title":"猪头","src":40},{"title":"玫瑰","src":50},{"title":"凋谢了","src":51},{"title":"示爱","src":208},{"title":"爱心","src":52},{"title":"心碎","src":53},{"title":"蛋糕","src":42},{"title":"闪电","src":43},{"title":"炸弹","src":44},{"title":"刀","src":45}]';
json = eval('('+ json +')');
var pattern1 = /\[[\u4e00-\u9fa5]+\]/g;
var pattern2 = /\[[\u4e00-\u9fa5]+\]/;
var contents = "[微笑]美女[色]你好[害羞]在吗?";
content = contents.match(pattern1);
str = contents;
for(i=0;i<content.length;i++){
for(j=0;j<json.length;j++){
if("["+ json[j].title +"]" == content[i]){
src = json[j].src;
break;
}
}
str = str.replace(pattern2,src);
}
alert(str);
</script>

过程: 1、分析JSON字符串中各内容的涵义 2、利用正则表达式找出需要替换的内容 3、利用两次循环,并结合判断将对应内容替换

JS表情替换代码,这里使用字符代替图片路径相关推荐

  1. 表情转html,将jquery.qqFace.js表情转换成微信的字符码

    jquery.qqFace.js使用方法 引用 html 初始化 $(function () { $('.emotion').qqFace({ id: 'facebox', assign: 'sayt ...

  2. JS字符串替换所有的某个字符

    要实现js字符串替换所有的某个字符,推荐大家使用replaceAll方法,replaceAll是用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,该函数会替换所有匹配到的子字符 ...

  3. 利用MySQL语句批量替换指定wordpress文章中的图片路径

    天花了很多时间将SAE服务器中的图片下载到本地,然后删掉,但是有一个问题就是,所有文章中的图片路径还是以前的,没有根据域名来.导致下午某些时间段图片都是无法显示的,后来想到用MySQL直接批量替换,执 ...

  4. JS 快速替换字符串指定下标字符

    替换指定字符串 :将字符串str中的第 index 的字符替换成newWords,返回替换后的字符串,前提是只知道下标,不知道被替换的字符是什么,当然,如果知道被替换的字符,直接使用replace就可 ...

  5. JS replace替换字符串所有匹配字符

    之前竟然一直没发现,以为前端的replace和后端的replace方法作用相同,都是替换字符串中所有指定字符,其实不然的. replace 替换一个 let str = "2021-03-1 ...

  6. js 正则替换非数字的字符的几种情况

    //匹配字符串前面的所有非数字字符并替换为空字符 var str="我爱我家12456你好" str=str.replace(/^\D*/,'') console.log(str) ...

  7. JS字符串截取方法 JS字符串查找指定字符方法 JS字符串替换指定字符方法 JS字符串插入指定位置方法 JS字符串删除指定字符方法

    js字符串截取的方法 方法一: str.slice(开始位置,结束位置) //start 参数字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推,如果是负数表示从尾部截取多少个字符串,s ...

  8. js中替换指定的字符

    替换所有的 '.' var vm_hostname=vm_ip.replace(/\./g,'') /g代表匹配所有, '.'需要转义 其它示例: alert("2014-03-22&quo ...

  9. Js中对字符串中的字符进行替换

    一,主要是运用replace方法进行字符的替换 单独使用replace方法只能替换字符串中重复字符的最前方的一个. var str = '树袋熊加油油';alert(str.replace('油',' ...

最新文章

  1. 虚函数表指针,虚函数表
  2. java连续输入_java – 要求用户进行多次输入
  3. LeetCode Hot100 ---- 回溯算法专题
  4. 电脑知识:如何保养自己的电脑,看完你就懂了!
  5. 图解尼科马修斯定理,你看懂了吗?
  6. php 类加载其它类,PHP 命名空间 namespace / 类别名 use / 框架自动载入 机理的
  7. linux硬盘分区为什么总有1M,3步实现制作并挂载自己的Linux硬盘分区
  8. VMware如何导出和导入OVF文件
  9. 【python】验证“哥德巴赫猜想” (20 分)(简单方法,秒懂!)
  10. pku 1265 Area
  11. 安装Linux 乌班图 Ubuntu 系统
  12. SharpDevelop浅析_1_AddInTree
  13. PCA(Principal Components Analysis)
  14. Linux 学习之创建、删除文件和文件夹命令
  15. Texpad 1.8.15 (529) for Mac 中文版 专业的LaTeX的编辑器
  16. Java中使用webview内嵌vue页面
  17. 在 VirtualBox 中安装 Android 系统
  18. Ecshop 二次开发之 朝花夕拾
  19. 罕见的jquery旋转式图片切换
  20. TouTiao开源项目 分析笔记19 问答内容

热门文章

  1. 130塔式服务器系统,PowerEdge T130塔式服务器怎么样
  2. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...
  3. MySQL限制CPU资源使用_压缩大文件时如何限制CPU使用率?----几种CPU资源限制方法的测试说明...
  4. brew 安装java8_mac使用brew安装Java8
  5. django模板系统Template
  6. 头条号为什么把作者抛弃了?
  7. php代码清除空格注解,PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
  8. windows下利用_popen,_wopen创建管道进行系统命令输出数据
  9. “ModSecurity2”源码分析
  10. 《剑指offer》数据流中的中位数