我正在使用以下函数来替换字符串中的表情符号,并且效果很好:
function doEmoji(s){
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
];
var x = s.toString(16).replace(new RegExp(ranges.join('|'), 'g'),' whatever ');
return x;
};
现在我想检查该字符串是否只包含表情符号或空格字符。
我想这样做的原因是因为我只想在不存在其他字符(空格除外)的情况下替换表情符号。
一些例子:
Hello how are you? ???? //do nothing
???????????? // replace emojis
???????????? ???? // replace emojis
我正在寻找一个简单的解决方案,也许是正则表达式。
谢谢
只需稍加调整即可确定字符串是否只有表情符号和空格......
const 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
' ', // Also allow spaces
].join('|');
const removeEmoji = str => str.replace(new RegExp(ranges, 'g'), '');
const isOnlyEmojis = str => !removeEmoji(str).length;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)