JS字符串截取(中英)


起因

當我們有些項目需要兼容比較低版本的瀏覽器的時候,CSS的字符截取就容易產生兼容性的問題,導致字符無法正確的截取,這時候就需要用js來進行字符串長度的截取,下面是我在項目中常用的中英文字符串長度截取代碼。

代碼

function subString(str, len, hasDot) {
            var newLength = 0;
            var newStr = "";
            var chineseRegex = /[^\x00-\xff]/g;
            var singleChar = "";
            var strLength = str.replace(chineseRegex, "**").length;
            for (var i = 0; i < strLength; i++) {
                singleChar = str.charAt(i).toString();
                if (singleChar.match(chineseRegex) != null) {
                    newLength += 2;
                }
                else {
                    newLength++;
                }
                if (newLength > len) {
                    break;
                }
                newStr += singleChar;
            }

            if (hasDot && strLength > len) {
                newStr += "...";
            }
            return newStr;
        }


使用


//截取中文4個長度的
var str='ddddddddddddsdfds';
subString(str,8,false)//截取字符串,長度中文8/2 4個長度,是否添加"..."


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM