2011-11-29 14 views
13

어떻게하면 가능합니까?텍스트를 짧게 줄이지 만 파일 형식은 그대로 두십시오.

에서이-IS-A-매우 길지 filename.jpg이-IS-A-매우-LO [...]를 .JPG .

Google을 몇 분 동안 지금 검색했지만이 문제에 대한 해결책을 찾을 수 없습니다. 내가 어떻게이 일을 할 수 있는지 아십니까?

미리 감사드립니다.

+1

당신이해야하는 특정 폭? –

+0

글쎄, 하위 문자열 (0,8) + "..."'또는 뭔가와 같은 최대 보이는 문자를 변경하는 능력을 갖고 싶습니다. – Erik

+0

이 작업을 수행하려면 jQuery가 절대적으로 필요합니까? –

답변

26

당신은 정말 이것에 대한 jQuery를 필요가 없습니다, 당신은 고전 자바 스크립트를 사용할 수 있습니다

<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

그래도 한 가지 문제가 있습니다. 파일을 선택하면 ** Chamma Swaetty Lobbs.jpg.jpg **를 귀하의 기능과 함께 전체 파일 이름으로 사용할 수 있습니다. 내가 코드를 보았을 때 어떤 문제도 볼 수 없다. (나는 자바 스크립트 놈이다.) 문제를 볼 수 있습니까? :) – Erik

관련 문제