自定义可存数据的jquery 表情输入框

news/2024/11/24 20:51:55/

jquery 表情输入框,可存数据库

前两天优化博客的时候,想在留言评论版块插入表情输入功能,并且用户能够存入数据库,并且可以在前台读取展示,于是研究了一下表情包,解决方法如下:

  • 下载表情包gif图
    我下载的是新浪的表情包并且编译如下:
    这里写图片描述

  • 表情路径和表情内容结合整理

 var faceList=[{'title':'微笑','url':'weixiao.gif'},{'title':'嘻嘻','url':'xixi.gif'},{'title':'哈哈','url':'haha.gif'},{'title':'可爱','url':'keai.gif'},{'title':'可怜','url':'kelian.gif'},{'title':'挖鼻','url':'wabi.gif'},{'title':'吃惊','url':'chijing.gif'},{'title':'害羞','url':'haixiu.gif'},{'title':'挤眼','url':'jiyan.gif'},{'title':'闭嘴','url':'bizui.gif'},{'title':'鄙视','url':'bishi.gif'},{'title':'爱你','url':'aini.gif'},{'title':'泪','url':'lei.gif'},{'title':'偷笑','url':'touxiao.gif'},{'title':'亲亲','url':'qinqin.gif'},{'title':'生病','url':'shengbing.gif'},{'title':'太开心','url':'taikaixin.gif'},{'title':'白眼','url':'baiyan.gif'},{'title':'右哼哼','url':'youhengheng.gif'},{'title':'左哼哼','url':'zuohengheng.gif'},{'title':'嘘','url':'xu.gif'},{'title':'衰','url':'shuai.gif'},{'title':'吐','url':'tu.gif'},{'title':'哈欠','url':'haqian.gif'},{'title':'抱抱','url':'baobao.gif'},{'title':'怒','url':'nu.gif'},{'title':'疑问','url':'yiwen.gif'},{'title':'馋嘴','url':'chanzui.gif'},{'title':'拜拜','url':'baibai.gif'},{'title':'思考','url':'sikao.gif'},{'title':'汗','url':'han.gif'},{'title':'困','url':'kun.gif'},{'title':'睡','url':'shui.gif'},{'title':'钱','url':'qian.gif'},{'title':'失望','url':'shiwang.gif'},{'title':'酷','url':'ku.gif'},{'title':'色','url':'se.gif'},{'title':'哼','url':'heng.gif'},{'title':'鼓掌','url':'guzhang.gif'},{'title':'晕','url':'yun.gif'},{'title':'悲伤','url':'beishang.gif'},{'title':'抓狂','url':'zhuakuang.gif'},{'title':'黑线','url':'heixian.gif'},{'title':'阴险','url':'yinxian.gif'},{'title':'怒骂','url':'numa.gif'},{'title':'互粉','url':'hufen.gif'},{'title':'书呆子','url':'shudaizi.gif'},{'title':'愤怒','url':'fennu.gif'},{'title':'感冒','url':'ganmao.gif'},{'title':'心','url':'xin.gif'},{'title':'伤心','url':'shangxin.gif'},{'title':'猪','url':'zhu.gif'},{'title':'熊猫','url':'xiongmao.gif'},{'title':'兔子','url':'tuzi.gif'},{'title':'OK','url':'ok.gif'},{'title':'耶','url':'ye.gif'},{'title':'GOOD','url':'good.gif'},{'title':'NO','url':'no.gif'},{'title':'赞','url':'zan.gif'},{'title':'来','url':'lai.gif'},{'title':'弱','url':'ruo.gif'},{'title':'草泥马','url':'caonima.gif'},{'title':'神马','url':'shenma.gif'},{'title':'囧','url':'jiong.gif'},{'title':'浮云','url':'fuyun.gif'},{'title':'给力','url':'geili.gif'},{'title':'围观','url':'weiguan.gif'},{'title':'威武','url':'weiwu.gif'},{'title':'话筒','url':'huatong.gif'},{'title':'蜡烛','url':'lazhu.gif'},{'title':'蛋糕','url':'dangao.gif'},{'title':'发红包','url':'fahongbao.gif'}]
  • 页面结构布完整
<div class="box"><div class="face-box"><textarea name="face" id="" cols="30" rows="10" placeholder="说点什么呢``" ></textarea><div class="face-sina"><div class="face-logo"><span>sina表情</span></div><div class="face-showbtn"><span>展示</span></div><div class="face-sina-body"><ul class="face-sina-items face-sina-items-show"></ul></div></div></div><div class="face-show-box"></div>
</div>
  • 给页面表情列表赋值
var self = this;
var html = '';for(var i = 0;i<self.faceList.length;i++){var item = self.faceList[i];html +=' <li class="face-sina-item"  data-title="'+item.title+'"><img src="img/face/'+item.url+'" alt=""></li>'}$('.face-sina-items').html(html);
  • 输入框内展示选择内容:通过点击选择事件获取当前表情包的title 并赋值给到页面的输入框内
  $('.face-sina-item').on('click',function(){var title = $(this).data("title");var textInner = $('textarea[name="face"]').val();textInner+="["+title+"]";$('textarea[name="face"]').val(textInner);});

这里写图片描述

  • 数据解析转换成表情包
$('.face-showbtn').on('click',function(){var cont =  $('textarea[name="face"]').val();var pat01 = /\[[\u4e00-\u9fa5]+\]/g;var pat02 = /\[[\u4e00-\u9fa5]+\]/;var content = cont.match(pat01);var str = cont;if(content){for(var i=0;i<content.length;i++){for(var j=0;j<self.faceList.length;j++){if("["+self.faceList[j].title +"]" == content[i]){var src = self.faceList[j].url;break;}}str = str.replace(pat02,'<img src="img/face/'+src+'"/>');}}$('.face-show-box').html(str).show();})

这里写图片描述

  • 如需看完整的版本,可以查看源代码 https://github.com/Aimee1608/jqueryEmoji

http://www.ppmy.cn/news/520743.html

相关文章

超全的表情包

// 新浪表情包api https://api.weibo.com/2/emotions.json?source1362404091 export const sina [{alt: [坏笑],src: http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/4d/2018new_huaixiao_org.png},{alt: [笑cry],src: http://img.t.sinajs.cn/t4/appstyle/expre…

华为OD机试真题B卷 Java 实现【删除字符串中出现次数最少的字符】,附详细解题思路

一、题目描述 删除字符串中出现次数最少的字符&#xff0c;如果多个字符出现次数一样则都删除。 二、输入描述 一个字符串。 三、输出描述 删除字符串中出现次数最少的字符&#xff0c;如果多个字符出现次数一样则都删除&#xff0c;如果都被删除 则换为empty。 四、解题…

「Java核心技术大会2023」——AIC送书第三期

共同深入探讨 Java 生态&#xff01;直播预约&#xff1a;视频号“IT阅读排行榜” 大会简介 人工智能在22年、23年的再次爆发让Python成为编程语言里最大的赢家&#xff1b;云原生的持续普及令Go、Rust等新生的语言有了进一步叫板传统技术体系的资本与底气。我们必须承认在近…

apple与android传数据线,可以同时插安卓和苹果的数据线

原标题&#xff1a;可以同时插安卓和苹果的数据线 问题&#xff1a;如何清理iPhone垃圾? 答案&#xff1a;微信公众号&#xff1a;果粉之家回复 4 现在手机线分为两大种&#xff1a;iPhone / iPad 专用的 Lightning 线&#xff0c;以及大部分 Android 装置使用的 microUSB 线。…

android 数据线有几种,不止是安卓和苹果线,手机数据线原来还有这几种!

原标题&#xff1a;不止是安卓和苹果线&#xff0c;手机数据线原来还有这几种&#xff01; 随着智能手机日益发展&#xff0c;辅助智能手机的数据线配件也越来越多样。 现在我们最常见的无非就是标准Micro usb口、正反随便插的Type-c接口、还有苹果Lightning数据线&#xff0c;…

iphone ipad等苹果设备30针数据线接口定义,大家可能有用

原文地址::http://wenku.baidu.com/view/0afc1cfb910ef12d2af9e781.html 相关网帖 1、iphone数据线接口定义----http://wenku.baidu.com/view/0c31aa28ed630b1c59eeb5e5.html iphone,数据线,ipad,接口 找到iphone ipad等苹果设备30针数据线接口定义&#xff0c;大家可能有用 …

DES加密算法及Python实现

一、DES加密算法原理 DES加密算法是一种对称密钥的块加密算法&#xff0c;1976年成为美国联邦标准。其加密流程如下&#xff1a; 密钥的生成&#xff1a;将64位密钥按照置换选择1表进行置换&#xff0c;得到56位的密钥&#xff0c;并分成左右两部分各28位。然后使用16个不同的演…

【算法】Greatest Sum Divisible by Three 可被三整除的最大和

文章目录 Greatest Sum Divisible by Three 可被三整除的最大和问题描述&#xff1a;分析代码 Tag Greatest Sum Divisible by Three 可被三整除的最大和 问题描述&#xff1a; 给你一个整数数组 nums&#xff0c;请你找出并返回能被三整除的元素最大和。 nums.length 范围[…