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小时内删除。