我需要从表单的输入字段中获取一个值,我只需要文件名。字符串如下所示:
var str = 'C:\Users\User\Desktop\file_name.ext';
如果我尝试运行(是的,反斜杠被转义)
str.split(\\)[str.length-1]
它不起作用,因为字符串中的斜杠没有被转义。简单console.log(str)
给了我C:UsersUserDesktopile_name.ext
,您会看到问题出在哪里。我该如何解决?
我需要从表单的输入字段中获取一个值,我只需要文件名。字符串如下所示:
var str = 'C:\Users\User\Desktop\file_name.ext';
如果我尝试运行(是的,反斜杠被转义)
str.split(\\)[str.length-1]
它不起作用,因为字符串中的斜杠没有被转义。简单console.log(str)
给了我C:UsersUserDesktopile_name.ext
,您会看到问题出在哪里。我该如何解决?
'C:\Users\User\Desktop\file_name.ext'.split(/\\|//).pop();
假设反斜杠被转义。我通过逃避我的反斜杠来混淆人们。上面的字符串是“原样”。
var str = 'C:\\Users\\User\\Desktop\\file_name.ext';
var parts = str.split('\\');
var result = parts[parts.length - 1];
解决方案,并链接到小提琴小提琴
$(function () {
function getFileName(path) {
return path.match(/[-_\w]+[.][\w]+$/i)[0];
}
$('#data_up').change(function () {
var fileName = $(this).val();
$('#data').val('somepath/' + getFileName(fileName));
});
});
您需要转义字符串中的反斜杠:
"C:\\Users\\User\\Desktop\\file_name.ext".split("\\").pop();