我如何在变量中获得文件的文件扩展名? 比如,如果我有一个文件为1.txt,我需要它的txt部分。


当前回答

我个人更喜欢用。然后返回最后一个数组元素:)

var fileExt = filename.split('.').pop();

如果没有。在filename中,你可以得到整个字符串。

例子:

'some_value'                                   => 'some_value'
'.htaccess'                                    => 'htaccess'
'../images/something.cool.jpg'                 => 'jpg'
'http://www.w3schools.com/jsref/jsref_pop.asp' => 'asp'
'http://stackoverflow.com/questions/680929'    => 'com/questions/680929'

其他回答

我使用下面的代码:

var fileSplit = filename.split('.');
var fileExt = '';
if (fileSplit.length > 1) {
fileExt = fileSplit[fileSplit.length - 1];
} 
return fileExt;

使用lastIndexOf方法找到字符串中的最后一个句点,并获得字符串后面的部分:

var ext = fileName.substr(fileName.lastIndexOf('.') + 1);

试试这个。也许能解决你的问题。

var file_name_string = "file.name.string.png"

var file_name_array = file_name_string.split(".");
var file_extension = file_name_array[file_name_array.length - 1];

问候

我建议使用lastIndexOf()而不是indexOf()

var myString = "this.is.my.file.txt"
alert(myString.substring(myString.lastIndexOf(".")+1))

我个人更喜欢用。然后返回最后一个数组元素:)

var fileExt = filename.split('.').pop();

如果没有。在filename中,你可以得到整个字符串。

例子:

'some_value'                                   => 'some_value'
'.htaccess'                                    => 'htaccess'
'../images/something.cool.jpg'                 => 'jpg'
'http://www.w3schools.com/jsref/jsref_pop.asp' => 'asp'
'http://stackoverflow.com/questions/680929'    => 'com/questions/680929'