1 使用split()方法和数据的pop()方法
function getExt1(filename) { var a = filename.split("."); if( a.length === 1 || ( a[0] === "" && a.length === 2 ) ) { return ""; } return a.pop(); }
2 下面这个方法是一个非常精心制作的解决方案,尽管比较难阅读
function getExt2(filename) { return filename.substr((~-filename.lastIndexOf(".") >>> 0) + 2); }
这2种方法可以过滤掉以点号开头的文件名,如.htaccess、.gitignore等等。
运行如下:
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"
原文:http://blog.jdk5.com/zh/javascript-get-file-name-extensions/
有朋自远方来...评论一下呗O(∩_∩)O