拆分一串文件输入字段

时间:2013-06-21 12:40:32

标签: javascript

我需要从表单中的输入字段中获取值,我只需要文件名。字符串看起来像这样:

var str = 'C:\Users\User\Desktop\file_name.ext';

如果我尝试运行(是的,反斜杠被转义)

str.split(\\)[str.length-1]

它不起作用,因为字符串中的斜杠不会被转义。简单的console.log(str)会给我C:UsersUserDesktopile_name.ext,您会看到问题所在。我如何解决这个问题?

4 个答案:

答案 0 :(得分:2)

'C:\Users\User\Desktop\file_name.ext'.split(/\\|//).pop();

假设反​​斜杠被转义。通过逃避我的反斜杠让我很困惑。上面的字符串是“按原样”。

答案 1 :(得分:0)

你需要转义字符串中的反斜杠:

"C:\\Users\\User\\Desktop\\file_name.ext".split("\\").pop();

答案 2 :(得分:0)

var str = 'C:\\Users\\User\\Desktop\\file_name.ext';

var parts = str.split('\\');
var result = parts[parts.length - 1];

答案 3 :(得分:0)

解决方案,并链接到小提琴fiddle

$(function () {
function getFileName(path) {
    return path.match(/[-_\w]+[.][\w]+$/i)[0];
}

$('#data_up').change(function () {
    var fileName = $(this).val();
    $('#data').val('somepath/' + getFileName(fileName));
});
});