Obtenga una extensión de archivo con un pequeño punto de conocimiento JS todos los días
¿Cómo obtener la extensión del archivo?
var file1 = "aaa.xsl";
var file2 = "bbb.doc";
getFileExtension(file1); //returs xsl
getFileExtension(file2); //returs doc
function getFileExtension(filename) {
}
Solución 1: expresión regular
function getFileExtension1(filename) {
return (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename)[0] : undefined;
}
Solución 2: método dividido de cadena
function getFileExtension2(filename) {
return filename.split('.').pop();
}
Pero estas dos soluciones no pueden resolver algunos casos extremos
Solución 3: métodos slice y lastIndexOf de String
function getFileExtension3(filename) {
return filename.slice((filename.lastIndexOf(".") - 1 >>> 0) + 2);
}
console.log(getFileExtension3('')); // ''
console.log(getFileExtension3('filename')); // ''
console.log(getFileExtension3('filename.txt')); // 'txt'
console.log(getFileExtension3('.hiddenfile')); // ''
console.log(getFileExtension3('filename.with.many.dots.ext')); // 'ext'