1

フォームの入力フィールドから値を取得する必要があります。必要なのはファイル名だけです。文字列は次のようになります。

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

実行しようとすると (はい、バックスラッシュはエスケープされます)

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

文字列内のスラッシュがエスケープされていないため、機能しません。Simpleconsole.log(str)は私C:UsersUserDesktopile_name.extに与え、問題がどこにあるかがわかります。どうすればそれを回避できますか?

4

4 に答える 4

0

解決策、およびフィドルフィドルへのリンク

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

$('#data_up').change(function () {
    var fileName = $(this).val();
    $('#data').val('somepath/' + getFileName(fileName));
});
});
于 2013-06-21T13:51:54.760 に答える
0

文字列のバックスラッシュをエスケープする必要があります。

"C:\\Users\\User\\Desktop\\file_name.ext".split("\\").pop();
于 2013-06-21T12:42:20.770 に答える