js按字节截取字符串方法
substring和slice 在JavaScript中,有时候需要按字节截取字符串,以满足一些特定的需求。一般的字符串截取方法是通过substring()或slice()函数实现的,但是这两个函数都是按字符截取的,无法满足按字节截取的需求。那么如何实现按字节截取字符串呢?
一种常见的方法是使用正则表达式。具体实现方式如下:
function cutstr(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 = at(a);
if (str_length >= len) {
str_cut = at('...');
return str_cut;
}
}
//如果给定字符串小于指定长度,则返回源字符串;
if (str_length < len) {
return str;
}
}
这个函数的参数包括原字符串和要截取的字节数。通过循环遍历字符串,每次判断字符的ASCII码是否大于128,如果大于128,就说明是一个中文字符,它的长度是2(因为它被编码为两个ASCII码),否则长度为1。根据总长度是否达到要求,来决定是否加上省略号。
总之,这个方法虽然比较复杂,但是可以实现按字节截取字符串的功能。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论