使用javascript获取文件名的扩展名
- 1 使用split()方法和数据的pop()方法
1 2 3 4 5 6 7 8 |
function getExt1(filename) { var a = filename.split("."); if( a.length === 1 || ( a[0] === "" && a.length === 2 ) ) { return ""; } return a.pop(); } |
- 2 下面这个方法是一个非常精心制作的解决方案,尽管比较难阅读
1 2 3 4 |
function getExt2(filename) { return filename.substr((~-filename.lastIndexOf(".") >>> 0) + 2); } |
这2种方法可以过滤掉以点号开头的文件名,如.htaccess、.gitignore等等。
运行如下:
1 2 3 4 5 6 7 8 9 |
var fname1= ".htaccess"; var fname2= "tes.txt.log"; var fname3= "tes.txt"; console.log(getExt1(fname1)); //"" console.log(getExt2(fname1)); //"" console.log(getExt1(fname2)); //"log" console.log(getExt2(fname2)); //"log" console.log(getExt1(fname3)); //"txt" console.log(getExt2(fname3)); //"txt" |