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