java过滤ios表情,JS前端去掉emoji表情和Java后台处理emoji表情方法

莫非定律 : 任何事情都没表面看去来那么简单!

emoji表情在项目中使用,因为其特殊的编码格式,经常导致在网络传输、编解码、以及数据入库中带来一些问题!

下面简单介绍使用Js和java处理移除emoji表情!

Emoji 表情的相关基础内容介绍,请读者自行在网上查找资料!

前端JS代码

//emojob编码集,因为emoji表情在不断地增加,下面的reg可能在未来会不能满足判断,使用者需要注意!

var emojiReg = /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi;

//输入框输入内容时候触发,进行移除emoji表情的操作

$('#msg').on('input',function(){

var msgHdnValue = $(this).val();

var isEmoji = validateMsgEmoji(msgHdnValue);

//替换emoji表情,以及末尾空格,和 空格

msgHdnValue = msgHdnValue.replace(emojiReg,"").replace(/(\s*$)/g,"").replace(/[ ]+/g,"").trim();

if(isEmoji){

$(this).html(msgHdnValue);//替换了内容后,输入框关标会发生变化,移到输入框开始位置!

po_Last_Div($(this)[0]); //定位将关闭移到输入框结尾处

}

})

/**

* 验证发送消息中是否包含emoji表情

* @param msg

* @returns {Boolean}

*/

function validateMsgEmoji(msg){

if (regStr.test(msg)) {

return true;

}

return false;

}

/**

* 光标定位最后一行

* @param obj

*/

function po_Last_Div(obj) {

if (window.getSelection) {

obj.focus();

var range = window.getSelection();

range.selectAllChildren(obj);

range.collapseToEnd();//光标移至最后

}

else if (document.selection) {//ie10 9 8 7 6 5

var range = document.selection.createRange();//创建选择对象

//var range = document.body.createTextRange();

range.moveToElementText(obj);//range定位到obj

range.collapse(false);//光标移至最后

range.select();

}

}

**使用input进行监控,主要是因为在IOS系统,keyup事件无法监听,或者兼容性不好!**

java后端操作,使用方法比较暴力,直接进行正则替换!

代码如下:

msg = msg.replaceAll("[^\\u0000-\\uFFFF]", "");

参考博文

如果您觉得这篇博文对你有帮助,请点下面的喜欢,让更多的人看到,谢谢!

如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!

祝你今天开心愉快!

欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值