我不知道任何关于emoji
个字符的unicode并尝试从输入中删除所有表情符号,找到了一个代码:
var ranges = [
'\ud83c[\udf00-\udfff]', // U+1F300 to U+1F3FF
'\ud83d[\udc00-\ude4f]', // U+1F400 to U+1F64F
'\ud83d[\ude80-\udeff]' // U+1F680 to U+1F6FF
];
JSFiddle (将emojis从css部分复制到测试中)
它会删除一些但不是新的表情符号。如何将这些新的emojis unicode范围包含在此代码中?
例如,这不会删除nerd face
表情符号,而unicode是here
答案 0 :(得分:0)
function removeEmoji(text) {
var res = '';
for(var i = 0; i < text.length; i++) {
var c = text[i];
// Get UTF-32 code
var code = c.charCodeAt(0);
if(code >= 0xd800 && code < 0xdc00) {
c += text[++i];
code = (code - 0xd800) << 10;
code |= c.charCodeAt(1) - 0xdc00;
code += 0x10000;
}
// Skip Emoji symbols
if (code < 0x1f000 || code >= 0x1fa00) {
res += c;
}
}
return res
}
var s = removeEmoji('ab'); // 'ab'