拆分文件输入字段的字符串

Split a string of file input field

本文关键字:字符串 字段 输入 文件 拆分      更新时间:2023-09-26

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

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

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

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

它不起作用,因为字符串中的斜杠没有转义。简单的console.log(str)给了我C:UsersUserDesktop ile_name.ext,你知道问题出在哪里了。我该如何解决这个问题?

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

假设反斜杠是转义的。我通过转义反斜杠来迷惑别人。上面的字符串是"原样"。

您需要对字符串中的反斜杠进行转义:

"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];

解决方案,并链接到fiddle 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));
});
});