js通过字节长度截取中英文混合字符串

2018-06-15  本文已影响0人  无名小码农

/**

 * 截取字符串 中英文混合

 * @param str   待处理字符串

 * @param len   截取字节长度 中文2字节 英文1字节

 */  

function subString1(str, len){  

var regexp = /[^\x00-\xff]/g;// 正在表达式匹配中文  

// 当字符串字节长度小于指定的字节长度时  

if (str.replace(regexp, "aa").length <= len) {  

return str;  

    }  

// 假设指定长度内都是中文  

var m = Math.floor(len/2);  

for (var i = m, j = str.length; i < j; i++) {  

// 当截取字符串字节长度满足指定的字节长度  

if (str.substring(0, i).replace(regexp, "aa").length >= len) {  

return str.substring(0, i);  

        }  

    }  

return str;  

}  

function test(){  

alert(subString1('abc哈哈哈',5));  

}  

上一篇 下一篇

猜你喜欢

热点阅读