如何在 javascript 中获取 input 文件名
在获取文件路径时,返回的是一个包含文件绝对路径的字符串,包括驱动器、文件夹和文件名。例如:"C:akepathDoc3.doc"。如果你只想获取文件名(不含路径),可以使用以下方法:
截取字符串:
let str = e.target.value; console.log(str.substring(str.lastIndexOf('\') + 1))
此方法使用 substring() 函数截取从最后一个反斜杠( )之后的字符串部分。
正则表达式:
let str = e.target.value; console.log(str.match(/[/\]([^/\]+.w+)$/g)[0])
此方法使用正则表达式匹配文件名,其中 [/\] 匹配反斜杠( )或正斜杠(/ ),([^/\]+.w+)$ 匹配文件名加上扩展名。
值得注意的是,这些方法并不考虑浏览器的兼容性。如果你需要考虑 IE 等旧浏览器,建议使用文件 API 的 name 属性:
let str = e.target.files[0].name; console.log(str)