每天一条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'