繁体   English   中英

仅获取所选输入文件的名称

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM