label 表情被截取导致整个文本不显示

用户昵称截取方法:
sliceNickname = function(nickname, maxLength) {

try {
    let retObj = {};
    var retNickname = '';
    var byteValLen = 0;
    // var Regx = /^[A-Za-z0-9]*$/;
    // 小写字母,大写字母,数字,英文下的特殊符号
    var Regx = /^[a-z_A-Z0-9-\.!@#\$%\\\^&\*\)\(\+=\{\}\[\]\/",'<>~\·`\?:;|]+$/;

    for (var i = 0; i < nickname.length; i++) {
        if(Regx.test(nickname[i])){
            byteValLen += 1;
        }else{
            byteValLen += 2;
        }
        if (byteValLen > maxLength){
            break;
        }
        retNickname += nickname[i];
    }
    retObj.nickname = retNickname;
    retObj.isSlice = byteValLen>maxLength;

    if(retObj.isSlice){
        return retObj.nickname + "...";
    }else{
        return retObj.nickname;
    }
}catch (e) {
    return  nickname;
}

}
调用: sliceNickname(“千纸鹤:star2:”,8); 在长度刚好要截取表情时,label就会不显示任何字符,也没异常

参考论坛大佬:麒麟子Cocos Creator实用技巧二:微信名字截断(支持表情)_一麒麟子一的博客-CSDN博客

微信这个 支持表情
https://mp.weixin.qq.com/s/GxIoGYsajSOscamGegn8NA
麒麟子早期 文章 应该可以解决

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。