截取定长的字符

 1<script>
 2/*以指定的长度得到字符串,余下的以“”代替
 3参数str是要显示的字符串;strlen是显示的长度,也就是截取的长度
 4该函数返回一个字符串*/

 5function is_zw(str)
 6{
 7    exp=/[0-9a-zA-Z_]/g;
 8    if(str.search(exp) != -1)
 9    {
10        return false;
11    }

12    return true;
13}

14function cutStr(str,strlen){
15 var l,t,c;
16 l = str.length;
17 t = 0;
18 for(i=0;i<l;i++){
19 
20  c = str.substring(i,i+1); /*获取第一个字符,并判断它是字母还是汉字*/
21  
22  if(is_zw(c)){               /*如果是汉字,步长加2*/
23   t = t + 2;
24  }
else{
25   t = t + 1;          /*如果是字母,步长加1*/
26  }

27  
28  if(t>= strlen){
29   return str.substring(0,i+1);
30  }

31  
32 }

33 return str;
34}

35
36</script>
原文地址:https://www.cnblogs.com/QDuck/p/441348.html