javascript - example - leaflet jquery
¿Cómo obtener una extensión de un archivo usando jquery o javascript? (7)
Esta pregunta ya tiene una respuesta aquí:
Quiero comprobar el tipo de archivo cargado. Si example.txt
nombre como example.txt
, quiero obtener solo la parte .txt
. ¿Cómo puedo lograrlo usando Jquery o javascript?
Cualquier sugerencia o enlaces serían apreciativos!
Dividir el nombre completo del archivo con. como delimitador. La división almacenará los elementos divididos en una matriz. Tome el último elemento de la matriz.
La respuesta de Frédéric funcionó bien para mí, sin embargo, la función sigue cometiendo errores en la consola de Chrome con "Identificador inesperado". El "int" fue problema y esta modificación funcionó.
function getFileExtension(name){
var found = name.lastIndexOf(''.'') + 1;
return (parseInt(found) > 0 ? name.substr(found) : "");
}
Si necesitas validar múltiples extensiones:
var filename = "picture.jpg";
var valid_extensions = /(/.jpg|/.jpeg|/.gif)$/i;
if(valid_extensions.test(filename))
{
alert(''OK'');
}
else
{
alert(''Invalid File'');
}
Esto elimina la necesidad de analizar la cadena si desea verificar la extensión, por ejemplo, antes de cargar un archivo.
Una solución simple es .split()
y .pop()
para obtener la última cadena en la matriz, como esto:
var ext = fileName.split(''.'').pop();
Esto te dará solo "txt"
sin el .
, simplemente agregue si es necesario. Esto también funciona en decir: My.File.name.has.an extension.txt
también. Si no tiene una extensión, devolverá el nombre del archivo, por lo que es posible que desee verificar esto ... o ir en una dirección completamente diferente y validar contra un conjunto o extensiones conocidas a través de expresiones regulares.
Utilice lastIndexOf() y substr() :
function getFileExtension(name)
{
int found = name.lastIndexOf(''.'') + 1;
return (found > 0 ? name.substr(found) : "");
}
Tenga en cuenta que esta implementación devuelve una cadena vacía si el nombre de archivo no contiene ningún carácter de punto (es decir, no tiene extensión). Las implementaciones basadas en split() veces devuelven el nombre completo del archivo en ese caso.
var text = ''example.txt'',
ext = text.split(''.'')[1];
if((document.form1.upload.value.lastIndexOf(".jpg")==-1) {
alert("Please upload only .jpg extention file");
return false;
}
lastIndexOf devolverá el índice de la última aparición del argumento de búsqueda especificado. Si no se encuentra, -1 regresará