Подтвердить что ты не робот

Получение только имени файла из пути с помощью Javascript

У меня есть полный путь к изображению, которое я использую jquery для чтения в форме $('img.my_image').attr('src'), но мне просто нужна часть имени файла (отбрасывание пути).

Существуют ли какие-либо встроенные функции для этого, или будет ли регулярное выражение единственным вариантом?

4b9b3361

Ответ 1

var fileNameIndex = yourstring.lastIndexOf("/") + 1;
var filename = yourstring.substr(fileNameIndex);

Ответ 2

var Filename= path.split('/').pop()

Ответ 3

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

Ответ 4

В Javascript вы могли бы сделать

function getFileNameFromPath(path) {
  var ary = path.split("/");
  return ary[ary.length - 1];
}

Ответ 5

Я нашел лучшую версию для обработки unix и оконных строк в стиле Windows.

Номер 1:

var unix_path = '/tmp/images/cat.jpg';
console.log(unix_path.replace(/^.*[\\\/]/, ''));

var win_path = 'c:\\temp\images\cat.jpg';
console.log(win_path.replace(/^.*[\\\/]/, ''));

Выход будет cat.jpg

Номер 2: (возможно, быстрее)

var unix_path = '/tmp/images/cat.jpg';
console.log(unix_path.split(/[\\\/]/).pop());

var win_path = 'c:\\temp\images\cat.jpg';
console.log(win_path.split(/[\\\/]/).pop());

Выход будет cat.jpg

Ответ 6

Используя это решение, вы можете получить оба имени, то есть с расширением файла и без него.

    //getting image source
    var path=$('img.my_image').attr('src');

    //splitting url and getting filename with file extension
    var file=path.split('/').pop();

    //removing extension and keeping just the filename
    var filename=file.split('.').shift();