2011-11-29 34 views
13

Làm cách nào để tôi có thể thực hiện điều này?Văn bản ngắn gọn nhưng để nguyên mẫu hiển thị

Từ này-là-một-rất-lâu-filename.jpg để này-là-một-rất-lo [...] .jpg.

Tôi đã tìm kiếm Google vài phút nhưng tôi không thể tìm thấy giải pháp nào cho điều này. Bạn có biết làm thế nào tôi có thể làm điều này?

Cảm ơn trước!

+1

bất kỳ chiều rộng cụ thể mà bạn cần phải có? –

+0

Vâng, tôi muốn có khả năng thay đổi các ký tự hiển thị tối đa như 'chuỗi con (0,8) +" ... "' hoặc một cái gì đó. – Erik

+0

bạn có hoàn toàn cần jQuery để làm điều này? –

Trả lời

26

Bạn không thực sự cần jQuery cho điều này, bạn có thể sử dụng javascript cổ điển:

<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

Rất cám ơn! : D Làm việc như một say mê. – Erik

+0

bạn rất hoan nghênh –

+0

Tôi có một vấn đề mặc dù. Khi tôi chọn một tập tin, tôi sẽ nhận được ** Chamma Swaetty Lobbs.jpg.jpg ** như một tên tập tin đầy đủ với chức năng của bạn. Khi tôi nhìn vào mã tôi không thể nhìn thấy bất kỳ vấn đề whit nó (Tôi là loại một JavaScript noob). Bạn có thấy vấn đề không? :) – Erik

Các vấn đề liên quan