JS 判断字符串字节长度的解决办法(数字英文长度为1,中文为2)
内容摘要
这篇文章主要为大家详细介绍了JS 判断字符串字节长度的简单示例(数字英文长度为1,中文为2),具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。
对此感兴趣的朋友,看看idc笔记做的技术笔记。
文章正文
这篇文章主要为大家详细介绍了JS 判断字符串字节长度的简单示例(数字英文长度为1,中文为2),具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。你早晚会用到的,用CSS来控制文字长度毕竟不是什么需求都能满足,现在后台也不管字符长度截取了,只能用JS来截取字符串了。
// 来自:php教程(www.idcnote.com)
/**
* 返回字符的字节长度(汉字算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);
通过上面的方法就可以继续写一个截取指定长度的新字符串了,截取掉的部分用…补全:
// 来自:php教程(www.idcnote.com)
/**
* 返回字符的字节长度(汉字算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));
注:关于JS 判断字符串字节长度的简单示例(数字英文长度为1,中文为2)的内容就先介绍到这里,更多相关文章的可以留意
代码注释