![](/img/trans.png)
[英]Get absolute file name of the file selected in HTML input instead of path
[英]get only the name of the selected input file
我正在尝试使用此正则表达式仅获取所选文件的名称:
var regex = /.*(\/|\\)/;
但它仅在某些情况下有效,您可以在此小提琴中找到完整的示例:
var regex = /.*(\/|\\)/;
var path1 = 'C:\fakepath\filename.doc'.replace(regex, ''),
path2 = 'C:\\fakepath\\filename.doc'.replace(regex, ''),
path3 = '/var/fakepath/filename.doc'.replace(regex, '');
如何解决呢?
您的问题不在您认为的地方。
您的问题是编写文字字符串 。
'C:\\fakepath\\filename.doc'
不是\\
字符,而是\\f
一个(换页)。
话虽如此,当您要提取字符串时不要使用replace
,而是使用match
,以便您可以定义所需的内容而不是不需要的内容:
var regex = /[^\/\\]+$/;
var path1 = 'C:\\fakepath\\filename.doc'.match(regex)[0],
path2 = 'C:\\fakepath\\filename.doc'.match(regex)[0],
path3 = '/var/fakepath/filename.doc'.match(regex)[0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.