您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

截断长字符串的聪明方法

截断长字符串的聪明方法

String.prototype.trunc = String.prototype.trunc ||
      function(n){
          return (this.length > n) ? this.substr(0, n-1) + '…' : this;
      };

现在您可以执行以下操作:

var s = 'not very long';
s.trunc(25); //=> not very long
s.trunc(5); //=> not ...

如果“更复杂”是指在字符串的最后一个单词边界处截断,那么这可能就是您想要的:

String.prototype.trunc =
     function( n, useWordBoundary ){
         if (this.length <= n) { return this; }
         var subString = this.substr(0, n-1);
         return (useWordBoundary 
            ? subString.substr(0, subString.lastIndexOf(' ')) 
            : subString) + "&hellip;";
      };

现在您可以执行以下操作:

s.trunc(11,true) // => not very...

如果您不想扩展本机对象,则可以使用:

function truncate( n, useWordBoundary ){
    if (this.length <= n) { return this; }
    var subString = this.substr(0, n-1);
    return (useWordBoundary 
       ? subString.substr(0, subString.lastIndexOf(' ')) 
       : subString) + "&hellip;";
};
// usage
truncate.apply(s, [11, true]); // => not very...
其他 2022/1/1 18:15:34 有532人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶