你早晚会用到的,用CSS来控制文字长度毕竟不是什么需求都能满足,现在后台也不管字符长度截取了,只能用JS来截取字符串了。
// 来自:编程之家 jb51.cc(jb51.cc)
/**
* 返回字符的字节长度(汉字算2个字节)
* @param {string}
* @returns {number}
*/
var getByteLen = function (val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
if (val[i].match(/[^\x00-\xff]/ig) != null) //全角
len += 2;
else
len += 1;
};
return len;
}
var sAbc = ‘1a啊啊22飞3地方a’;
var ol = getByteLen(sAbc);
alert(‘直接用length取得的字节长度:’ + sAbc.length);
alert(‘通过getByteLen()方法取得的字节长度:’ + ol);
通过上面的方法就可以继续写一个截取指定长度的新字符串了,截取掉的部分用…补全:
// 来自:编程之家 jb51.cc(jb51.cc)
/**
* 返回字符的字节长度(汉字算2个字节)
* @param {string}{number}
* @returns {string} +’…’
*/
var cutStrForNum = function (str,num) {
var len = 0;
for (var i = 0; i < str.length; i++) {
if (str[i].match(/[^\x00-\xff]/ig) != null) //全角
len += 2;
else
len += 1;
}
if (len >= num) {
newStr = str.substring(0,num) + "…";
}
return newStr;
}
var sAbc = ‘1a啊啊22飞3地方a’;
alert(cutStrForNum(sAbc,3));
原文链接:https://www.f2er.com/js/527633.html