看代码:
var file1 = "50.xsl";
var file2 = "30.doc";
getFileExtension(file1); //returns xsl
getFileExtension(file2); //returns doc
function getFileExtension(filename) {
/*TODO*/
}
看代码:
var file1 = "50.xsl";
var file2 = "30.doc";
getFileExtension(file1); //returns xsl
getFileExtension(file2); //returns doc
function getFileExtension(filename) {
/*TODO*/
}
当前回答
简单的方法获得文件名甚至多个点在名称
var filename = "my.filehere.txt";
file_name = filename.replace('.'+filename.split('.').pop(),'');
console.log("Filename =>"+file_name);
输出:my.filehere
extension = filename.split('.').pop();
console.log("Extension =>"+extension);
输出:txt
试试这是一行代码
其他回答
function getExt(filename)
{
var ext = filename.split('.').pop();
if(ext == filename) return "";
return ext;
}
function extension(fname) {
var pos = fname.lastIndexOf(".");
var strlen = fname.length;
if (pos != -1 && strlen != pos + 1) {
var ext = fname.split(".");
var len = ext.length;
var extension = ext[len - 1].toLowerCase();
} else {
extension = "No extension found";
}
return extension;
}
/ /使用
扩展(“file.jpeg”)
总是返回扩展低cas,以便您可以检查它的字段更改 适用于:
file.JpEg
文件(无扩展名)
文件。(noextension)
function file_get_ext(filename)
{
return typeof filename != "undefined" ? filename.substring(filename.lastIndexOf(".")+1, filename.length).toLowerCase() : false;
}
对于大多数应用程序,一个简单的脚本,如
return /[^.]+$/.exec(filename);
会工作得很好(由汤姆提供)。然而,这并非万无一失。如果提供了以下文件名,它将不起作用:
image.jpg?foo=bar
这可能有点过分,但我建议使用这样的url解析器来避免由于不可预测的文件名而导致的失败。
使用这个特定的函数,你可以得到这样的文件名:
var trueFileName = parse_url('image.jpg?foo=bar').file;
这将输出“image.jpg”,不带url变量。然后您就可以获取文件扩展名了。
如果你正在寻找一个特定的扩展名,并且知道它的长度,你可以使用substr:
var file1 = "50.xsl";
if (file1.substr(-4) == '.xsl') {
// do something
}
JavaScript参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr