Obtenga una extensión de archivo con un pequeño punto de conocimiento JS todos los días

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'

Supongo que te gusta

Origin blog.csdn.net/weixin_43881166/article/details/115293799
Recomendado
Clasificación