首页 > 代码库 > 自动调整文件标题长度(需要后缀名)

自动调整文件标题长度(需要后缀名)

制作传递文件的样式时,如果文件标题过长,会使样式乱版而且很不好看,今天在做项目的时候发现了这个问题,参考了腾讯的样式,写了一个小函数用于调整文件名。

技术分享

 1 function justifytext(text,limited){
 2     var _extension = text.substring(text.lastIndexOf(‘.‘),text.length),
 3         _name = text.substring(0,text.lastIndexOf(‘.‘)),
 4         _namelimit = limited - _extension.length,
 5         _index = 0, justifytext="";
 6         for(var i=0;i<_name.length;i++){
 7             if(_index+6 < _namelimit){
 8                 if((/[^\x00-\xff]/).test(_name.charAt(i))){
 9                     justifytext +=_name.charAt(i);
10                     _index+=2;
11                 }else{
12                     justifytext +=_name.charAt(i);
13                     _index+=1;
14                 }
15             }else{
16                 justifytext+=‘...‘+_name.charAt(_name.length-1)+_extension;
17                 break;
18             }
19         }
20     
21     return justifytext;
22 }
23 
24 
25 
26 function strlen(str){
27  if (str == null) return 0;
28   if (typeof str != "string"){
29     str += "";
30   }
31   return str.replace(/[^\x00-\xff]/g,"01").length;
32 }

效果

技术分享

 

不足之处:需要字符串受限长度,需要限制标题框宽度来得知受限宽度

      必须要有后缀名,否则会错乱

自动调整文件标题长度(需要后缀名)