Javascript 函数查找只有一个表情符号的字符串

Javascript 函数查找只有一个表情符号的字符串,javascript,Javascript,如何检测字符串仅包含一个表情符号?现在,如果有,则返回true 我只希望它是真实的,如果它只包含一个表情符号,没有其他 function hasOneEmoji(str) { const regEx = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]|\ud8

如何检测字符串仅包含一个表情符号?现在,如果有,则返回true

我只希望它是真实的,如果它只包含一个表情符号,没有其他

function hasOneEmoji(str) {
    const regEx = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]|\ud83c[\udffb-\udfff])?)*/g;

    if (str.match(regEx)) {
        return true;
    }

    return false;
}

假设正则表达式与emojis正确匹配,那么只需在文本周围添加
^(?:…)$
,这是整个字符串中唯一允许的模式:

函数hasonemoji(str){
(以下?:\ud83c[\udde6-\uddff){2}40; 2 41; [2}40; 2 41; 2 41; [[2}[2}2}41; 2 [2}2}2 [[2}}2}2}[[2}2}}2}\ud800-\UDbffff-\udbff\ud800-\udbffff[\udbfffffffffff-\\\\udc0-\udc0-\\udc0-\udc0-\udc0-\udc0-\\udbffffffff-\\\\udc0-\\udc0-\udc0-\udc0-\udc0 udbff][\udc00-\udfff][\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]| \ud83c[\udffb-\udfff])*)$/.test(str);
}

log(hasonemoji('假设正则表达式与emoji正确匹配,那么只需在文本周围添加
^(?:…)$
,这是整个字符串中唯一允许的模式:

函数hasonemoji(str){
(以下?:\ud83c[\udde6-\uddff){2}40; 2 41; [2}40; 2 41; 2 41; [[2}[2}2}41; 2 [2}2}2 [[2}}2}2}[[2}2}}2}\ud800-\UDbffff-\udbff\ud800-\udbffff[\udbfffffffffff-\\\\udc0-\udc0-\\udc0-\udc0-\udc0-\udc0-\\udbffffffff-\\\\udc0-\\udc0-\udc0-\udc0-\udc0 udbff][\udc00-\udfff][\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]| \ud83c[\udffb-\udfff])*)$/.test(str);
}

console.log(hasonemoji('
const-match=str.match(regEx);return-match!==null&&match.length==1;
但是“对不起,我没有看到”和“其他”。我假设您只是想避免将字符串与两个或更多的emoji匹配。
const-match=str.match(regEx);return-match!==null&&match.length==1;
但是”抱歉,我没有看到“and nothing other”。我以为您只是想避免将字符串与两个或更多表情匹配。