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

  • Post author:
  • Post category:其他


/**
 * 截取字符串 中英文混合
 * @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('123你我他',5));
}



版权声明:本文为li4562258fj155原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。