JS 截取字符串指定长度 超出长度显示省略号

看得懂的,可以自己写一下。看不懂的,直接复制代码调用函数即可。

废话不多说,直接上代码了!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/**
* 函数说明:获取字符串长度
* 备注:字符串实际长度,中文2,英文1
* @param:需要获得长度的字符串
*/
function getStrLength(str) {
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;
}
}

console.log(getStrLength('qwrtyuiop'));
console.log(cutstr('qwrtyuiop','5'));

评论