7

我只需要从 HTML 输入文件中返回文件名。

<input type="file" id="whatever" />

我用来获取文件名的 JavaScript 代码是:

document.getElementById("whatever").value;

在 Firefox 中它只给出我想要的文件名,但在 IE 中我得到完整路径。

我认为字符串操作是获得名称的唯一方法。

在 JavaScript 中仅获取名称(扩展名)的最简单/最短的方法是什么?谢谢。

4

3 回答 3

19

你可以试试这个

var path = document.getElementById("whatever").value;
var fileName = path.match(/[^\/\\]+$/);
console.log(fileName);
于 2013-04-09T04:07:23.297 回答
2

我希望这行得通。

var fullFileName = document.getElementById("whatever").value;
var fileName = fullFileName.substr(fullFileName.lastIndexOf("\\")+1, fullFileName.length);

这是那个小提琴的小提琴

于 2013-04-09T04:06:37.850 回答
0
var path = document.getElementById("whatever").value;
var filename = path.substring(path.lastIndexOf("/") + 1);

这将为您提供最后一个之后的所有内容/,但也与缺少/s 兼容。如果您还需要处理\可爱的路径分隔符,您总是可以先使用它:

path.replace(/\\/g, "/")
于 2013-04-09T04:07:30.313 回答