从Internet Explorer上的文件输入中仅获取文件名

时间:2013-04-09 04:01:54

标签: javascript html

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

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

用于获取文件名称的JavaScript代码是:

document.getElementById("whatever").value;

在firefox中它只提供我想要的文件名,但在IE中我得到了完整的路径。

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

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

3 个答案:

答案 0 :(得分:18)

你可以试试这个

var path = document.getElementById("whatever").value;
var fileName = path.match(/[^\/\\]+$/);
console.log(fileName);

答案 1 :(得分:2)

我希望这有效。

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

这是Fiddle

的小提琴

答案 2 :(得分:0)

var path = document.getElementById("whatever").value;
var filename = path.substring(path.lastIndexOf("/") + 1);

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

path.replace(/\\/g, "/")