//将emoji表情进行转义再发送至后台
var nikeName= '小罗老师%F0%9F%98%82'
let regex = /[\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/ig
let nickNameNew = nickName.replace(regex, function (res) {
return encodeURIComponent(res)
})
//后台返回'小罗老师%F0%9F%98%82'时,使用decodeURIComponent()进行解析
let data = '小罗老师%F0%9F%98%82'
console.log(decodeURIComponent(data ))
通过encodeURIComponent() 函数把字符串作为 URI 组件进行编码;
参数通过转义传入后端,下图二展示存储入库,最后通过使用 decodeURIComponent() 对编码后的 URI 进行解码解析即可;



本文转载自:https://blog.csdn.net/weixin_43970743/article/details/105274565
该博客介绍了如何处理和传递包含emoji的字符串,如小罗老师的名称'小罗老师%F0%9F%98%82'。通过正则表达式匹配emoji并使用encodeURIComponent进行编码,确保在发送到后台时正确存储。当从后台接收到编码数据时,使用decodeURIComponent进行解码,恢复原始内容。这个过程在前后端交互中对于正确处理和显示带有emoji的数据至关重要。

7627

被折叠的 条评论
为什么被折叠?



