js--小demo--字符串长度判断,超出进行自动截取(支持中文)

来源:互联网 发布:js注册界面 编辑:程序博客网 时间:2024/05/19 01:07
// 若真是长度大于10,也就是中文5个if (GetLength(c.label) > 10) {     var label = cutstr(c.label, 10);       $item.find('.text').text(label);}else {    $item.find('.text').text(c.label);}var GetLength = function (str) {    ///<summary>获得字符串实际长度,中文2,英文1</summary>    ///<param name="str">要获得长度的字符串</param>    var realLength = 0, len = str.length, charCode = -1;    for (var i = 0; i < len; i++) {        charCode = str.charCodeAt(i);        if (charCode >= 0 && charCode <= 128) realLength += 1;        else realLength += 2;    }    return realLength;};/**  * js截取字符串,中英文都能用  * @param str:需要截取的字符串  * @param len: 需要截取的长度  */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 = str_cut.concat(a);        if (str_length >= len) {            str_cut = str_cut.concat("...");            return str_cut;        }    }    //如果给定字符串小于指定长度,则返回源字符串;      if (str_length < len) {        return str;    }}
0 0
原创粉丝点击