前端如何过滤emoji表情

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

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

function filterEmoji(evaluateData){

    var ranges = [

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

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

        '\ud83d[\ude80-\udeff]'

    ];

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

    return evaluateData;

}

filterEmoji("?")

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

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):