前端题目多行点点点的题目

        //点点点猎取字符串现实长度(汉字2,英文1,点占0.7)
        function get_strlength(str) {  
            var len = 0;
            if(str.match(/[^ -~]/g) == null) {
                len = str.length;
            } else {
                len = str.length + str.match(/[^ -~]/g).length;
            }
            if (str.match(/\./g) != null){
                len -= (str.match(/\./g).length * 0.3);
            }
            return len;
        }
        
        //点点点处理代码,maxLength是多行可放的最大英文字符数
        function getDotMessage(str , maxLength) {
            maxLength += (str.slice(0,maxLength).match(/\./g) != null ? str.slice(0,maxLength).match(/\./g).length : 0)*0.3;
            var str1 = '',
                endMaxLength = Math.floor(maxLength),
                maxLen = Math.floor(maxLength);
            if (get_strlength(str) >= maxLen){
                str1 = str.slice(0);
                while (get_strlength(str1) > endMaxLength){
                    str1 = str1.substring(0 , --maxLen);
                }
                return str1 + '...' ;
            }else {
                return str ;
            }
                        
        }

能够自行调治maxLength举行适配!

    原文作者:小匣子带飞
    原文地址: https://segmentfault.com/a/1190000010409170
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞