Qrcode
手机扫描二维码快速访问
avatar
黑莓糖专属城堡
真、

js截取字符串(区分中文/英文)

处理过长的字符串,截取并添加省略号

/* 处理过长的字符串,截取并添加省略号
 * 注:半角长度为1,全角长度为2
 * str:字符串
 * len:截取长度
 * return: 截取后的字符串
 */
function cutbytestr(str, len) {
	var str_length = 0;
	var str_len = 0;
	str_cut = new String();
	str_len = str.length;
	for (var i = 0; i < str_len; i++) {
		a = str.charAt(i);
		str_length++;
		if (escape(a).length > 4) {
			//中文字符的长度经编码之后大于4
			str_length++;
		}
		str_cut = str_cut.concat(a);
		if (str_length >= len) {
			str_cut = str_cut.concat("…");
			return str_cut;
		}
	}
	//如果给定字符串小于指定长度,则返回源字符串;
	if (str_length < len) {
		return str;
	}
}

处理过长的字符串,截取并添加省略号

/* 处理过长的字符串,截取并添加省略号
 * str:字符串
 * len:截取长度
 * return: 截取后的字符串
 */
function cutstr(str, len) {
	var str_length = 0;
	var str_len = 0;
	str_len=str.length;
	if (str_len <= len) {
		return str;
	}else{
	   str=str.substr(0,len);
	   str = str.concat("…");
	   return str;
	}
}

取字符串长度

/* 取字符串长度
 * 注:汉字算两个字符,英文算一个字符
 * str:字符串
 * return: 长度
 */
function getStrLength(str) {   
	var cArr = str.match(/[^\x00-\xff]/ig);   
	return str.length + (cArr == null ? 0 : cArr.length);   
}