Jquery 缩短文本,但保持文件类型可见
我怎样才能做到这一点 从this-is-a-very-long-filename.jpg到this-is-a-very-lo[…]jpg 我已经在谷歌搜索了几分钟,但我找不到任何解决办法。你知道我怎么做吗 提前谢谢 使用此插件: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
您不需要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('.')
不是负数(文件名中从不出现点的情况)。