每天一条JS小知识点 取得文件扩展名

每天一条JS小知识点 取得文件扩展名

怎样取得文件扩展名 ?

var file1 = "aaa.xsl";
var file2 = "bbb.doc";
getFileExtension(file1); //returs xsl
getFileExtension(file2); //returs doc

function getFileExtension(filename) {
    
    

}

解决方法 1: 正则表达式

function getFileExtension1(filename) {
    
    
    return (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename)[0] : undefined;
}

解决方法 2: String的split方法

function getFileExtension2(filename) {
    
    
    return filename.split('.').pop();
}

但这两种解决方法不能解决一些边缘情况

解决方法 3: String的slice、 lastIndexOf方法

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'

猜你喜欢

转载自blog.csdn.net/weixin_43881166/article/details/115293799