JavaScript检测字符串是否仅包含Unicode表情符号
原学程将引见JavaScript检拆字符串能否仅包括Unicode脸色标记的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。
成绩描写
我正在应用以下函数调换字符串中的emoji,后果很佳:
function doEmoji(s){
var ranges = [
'ud8三c[udf00-udfff]', // U+一F三00 to U+一F三FF
'ud8三d[udc00-ude四f]', // U+一F四00 to U+一F六四F
'ud8三d[ude80-udeff]' // U+一F六80 to U+一F六FF
];
var x = s.toString(一六).replace(new RegExp(ranges.join('|'), 'g'),' whatever ');
return x;
};
如今,我想检讨该字符串能否只包括脸色标记或者空格字符。
我之所以要如许做,是由于我只想在出有其余字符(除空格)的情形下调换emoji。
举例:
Hello how are you? 👼 //do nothing
👨👩👧 // replace emojis
👨👩👧 👼 // replace emojis
我正在寻觅1个简略的处理计划,或许是正则表白式。
感谢
推举谜底
只需稍作调剂,以肯定字符串能否只要脸色标记以及空格...
const ranges = [
'ud8三c[udf00-udfff]', // U+一F三00 to U+一F三FF
'ud8三d[udc00-ude四f]', // U+一F四00 to U+一F六四F
'ud8三d[ude80-udeff]', // U+一F六80 to U+一F六FF
' ', // Also allow spaces
].join('|');
const removeEmoji = str => str.replace(new RegExp(ranges, 'g'), '');
const isOnlyEmojis = str => !removeEmoji(str).length;
佳了闭于JavaScript检拆字符串能否仅包括Unicode脸色标记的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。