2011-11-29 5 views
13

これをどうすればいいですか? からテキストを短くしますが、ファイルタイプを表示したままにします

を.jpgのこの-ある-非常に-LO [...] にこの--超長filename.jpgです。

Googleを数分間検索しましたが、解決策が見つかりません。私はこれをどのようにすることができるか知っていますか?

ありがとうございます!

+1

あなたが持っている必要があります任意の特定の幅? –

+0

さて、 'substring(0,8)+" ... "'なんかのような最大の文字を変更できるようにしたい。 – Erik

+0

これを行うにはjQueryが絶対に必要ですか? –

答えて

26

あなたは本当にこのための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> 
+0

を得ることはありません多くのありがとう! :D魅力のように働いた。 – Erik

+0

あなたは非常に歓迎です –

+0

しかし私は1つの問題があります。ファイルを選択すると、** Chamma Swaetty Lobbs.jpg.jpg **があなたの関数の完全なファイル名として取得されます。私がコードを見ると、私は何の問題も見られません(私はJavaScriptのようなものです)。あなたは問題を見ることができますか? :) – Erik

関連する問題