前端如何过滤emoji表情

ppylox
·3/8/2021·0 阅读
AI 摘要模型根据正文自动生成,仅供参考

前端过滤emoji表情可通过正则表达式实现。定义emoji的Unicode编码范围数组,包括`\ud83c[\udf00-\udfff]`、`\ud83d[\udc00-\ude4f]`、`\ud83d[\ude80-\udeff]`,用`join('|')`拼接后构造全局RegExp,对输入字符串执行`replace`替换为空字符串,从而在录入阶段过滤emoji,便于数据存储。

\n

目前emoji表情无处不在,不管是app还是pc端的网站,都会见到emoji表情的身影,主要还是由于能快速而且适当的表现情绪或者状态,没有文字那么冷冰冰,多了一些温暖。

\n\n\n\n

那么在开发中可能会出现需要处理emoji表情的情况,一般是用户在发送emoji消息后,接口需要将对应的unicode编码存储在数据库,前端页面显示的时候,需要将emoji正常显示出来,但是对于有些场景,比如一些用户反馈表单,只需要用户填有价值的内容,包括图片文字,而像emoji表情则需要过滤,那么这个时候前端可以只用以下方法在录入的时候就进行过滤。

\n\n\n\n

function filterEmoji(evaluateData){

\n\n\n\n

    var ranges = [

\n\n\n\n

        '\\ud83c[\\udf00-\\udfff]',

\n\n\n\n

        '\\ud83d[\\udc00-\\ude4f]',

\n\n\n\n

        '\\ud83d[\\ude80-\\udeff]'

\n\n\n\n

    ];

\n\n\n\n

    evaluateData = evaluateData .replace(new RegExp(ranges.join('|'), 'g'), '');

\n\n\n\n

    return evaluateData;

\n\n\n\n

}

\n\n\n\n

filterEmoji("?")

\n\n\n\n

执行以上代码后,可以发现如果内容包含emoji表情,则在提交的时候会把它替换为空字符串,这样对于数据存储就少了一点麻烦了。

\n\n\n\n
\n

相关文章

评论 (0)

暂无评论,来写第一条吧