2011-11-29 13 views
13

¿Cómo puedo hacer esto posible?Corta el texto, pero deja el tipo de archivo visible

De esta -is-a-muy-largo filename.jpg a this-is-a-muy-lo [...] .jpg.

He buscado en Google por varios minutos pero no encuentro ninguna solución para esto. ¿Sabes cómo puedo hacer esto?

¡Gracias de antemano!

+1

cualquier anchura específica es necesario tener? –

+0

Bueno, quiero tener la capacidad de cambiar los máximos caracteres visibles como 'subcadena (0,8) +" ... "' o algo así. – Erik

+0

¿Necesitas jQuery para hacer esto? –

Respuesta

26

Usted realmente no necesita jQuery para esto, se puede usar javascript clásica:

<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

¡Muchas gracias! : D Trabajó como un encanto. – Erik

+0

eres bienvenido –

+0

Tengo un problema sin embargo. Cuando selecciono un archivo, obtendré ** Chamma Swaetty Lobbs.jpg.jpg ** como un nombre de archivo completo con su función. Cuando miro el código no puedo ver ningún problema con él (soy una especie de novato de JavaScript). ¿Puedes ver el problema? :) – Erik

Cuestiones relacionadas