Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 缩短文本,但保持文件类型可见_Jquery_Text_Short - Fatal编程技术网

Jquery 缩短文本,但保持文件类型可见

Jquery 缩短文本,但保持文件类型可见,jquery,text,short,Jquery,Text,Short,我怎样才能做到这一点 从this-is-a-very-long-filename.jpg到this-is-a-very-lo[…]jpg 我已经在谷歌搜索了几分钟,但我找不到任何解决办法。你知道我怎么做吗 提前谢谢 使用此插件: 您不需要jQuery,您可以使用经典javascript: <script> function truncate(n, len) { var ext = n.substring(n.lastIndexOf(".") + 1, n.length

我怎样才能做到这一点

this-is-a-very-long-filename.jpgthis-is-a-very-lo[…]jpg

我已经在谷歌搜索了几分钟,但我找不到任何解决办法。你知道我怎么做吗

提前谢谢

使用此插件:


您不需要jQuery,您可以使用经典javascript:

<script>
  function truncate(n, len) {
      var ext = n.substring(n.lastIndexOf(".") + 1, n.length).toLowerCase();
      var filename = n.replace('.'+ext,'');
      if(filename.length <= len) {
          return n;
      }
      filename = filename.substr(0, len) + (n.length > len ? '[...]' : '');
      return filename + '.' + ext;
  };
  var s = 'this-is-a-very-very-very-long-file-name.jpg';
  console.log(truncate(s, 100)); //this-is-a-very-very-very-long-file-name.jpg
  console.log(truncate(s, 10)); //this-is-a-[...].jpg
  console.log(truncate(s, 4)); //this[...].jpg
</script>

函数截断(n,len){
var ext=n.substring(n.lastIndexOf(“.”)+1,n.length.toLowerCase();
var filename=n.replace('.'+ext',);
如果(filename.length len?“[…]”:“”);
返回文件名+'.'+ext;
};
var s='this-is-a-very-very-long-file-name.jpg';
log(截断(s,100))//this-is-a-very-very-long-file-name.jpg
log(截断(s,10))//这是-is-a-[…]jpg
log(截断(s,4))//本[…]jpg

您需要的任何特定宽度?好吧,我希望能够更改最大可见字符数,如
子字符串(0,8)+“…”
或其他什么。您绝对需要jQuery来完成此操作吗?是的。我将把jQuery函数扩展到我的上传页面。如果文件太长,文件名将在新行上继续。这是我不想要的。我只想缩短文件名,但保持文件类型不变。谢谢,但这对我一点帮助都没有:/I有一个问题。当我选择一个文件时,我将使用您的函数获取Chamma Swaetty Lobbs.jpg.jpg作为完整文件名。当我看代码的时候,我看不出有任何问题(我有点像JavaScript noob)。你能看到问题吗?:)哦,因为文件太短,所以请重新放置,让我来修复,很抱歉没关系:)每个人有时都会出错^^再次感谢!了解。我想应该是
n.substr(n.lastIndexOf(“.”)+1,n.length)
。但是
substring
的索引长度大于字符串以原始长度结尾的长度,因此这里并不重要。另外,最好使用
var filename=n.substring(0,n.lastIndexOf('.'))
来获取文件名。因为
replace('.+ext')
从文件名中删除所有出现的扩展名
ext
。只要确保
n.lastIndexOf('.')
不是负数(文件名中从不出现点的情况)。