看代码:
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
试试这是一行代码
其他回答
别忘了有些文件没有扩展名,所以:
var parts = filename.split('.');
return (parts.length > 1) ? parts.pop() : '';
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;
}
试试这个:
function getFileExtension(filename) {
var fileinput = document.getElementById(filename);
if (!fileinput)
return "";
var filename = fileinput.value;
if (filename.length == 0)
return "";
var dot = filename.lastIndexOf(".");
if (dot == -1)
return "";
var extension = filename.substr(dot, filename.length);
return extension;
}
我只是想分享这个。
fileName.slice(fileName.lastIndexOf('.'))
虽然这有一个缺点,即没有扩展名的文件将返回最后一个字符串。 但如果你这样做,这将解决所有问题:
function getExtention(fileName){
var i = fileName.lastIndexOf('.');
if(i === -1 ) return false;
return fileName.slice(i)
}