js過濾輸入的emoji表情


因為emoji表情是Unicode編碼, 在某些流浪器上會顯示亂碼, 有的數據庫字節不夠也無法存儲, 網上有很多解決此類問題的辦法, 最簡單的莫過於將emoji表情替換成文本, 比如 [表情][表情]哈哈

我看見的又好幾種寫法

var regStr = /\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/ig;
var testStr = '哈哈😆你好🙃';
var result = testStr.replace(regStr, '[表情]');
console.log(result);  // 哈哈[表情]你好[表情]

還有一種比較麻煩的寫法

var regStr = /[\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;
var testStr = '哈哈😆你好🙄';
var result = testStr.replace(regStr, '[表情]');
console.log(result);  // 哈哈[表情]你好[表情]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM