регулярное выражение в jquery для получения имени файла изображения - PullRequest
3 голосов
/ 23 февраля 2011

Я хочу извлечь имя файла с путем и его расширением отдельно от src изображения с помощью jquery.

например:

<img src="images/cat/kitty.gif" id="myimg" />

Мне нужно получить "images / cat / kitty" и ".gif" из кода выше.

как я могу это сделать?

Ответы [ 4 ]

5 голосов
/ 08 августа 2012

Чтобы извлечь только имя файла:

    var name = $('#myimg').attr("src");
    var parts = name.split('/');
    name = parts[parts.length-1];
5 голосов
/ 23 февраля 2011

Вы можете просто использовать метод attr вместо:

$('#image_id').attr('src');

Если вы хотите отдельно указать имя и добавочный номер, вы можете сделать:

var arr = $('#image_id').attr('src').split('.');
alert(arr[0]);    // name
alert(arr[1]);    // extension
4 голосов
/ 23 февраля 2011

Регулярное выражение не требуется.Используйте .split():

var ret = $('#myimg').attr('src').split(/\./);

console.log(ret[0]);  // === 'images/cat/kitty'
console.log(ret[1]);  // === 'gif'
1 голос
/ 10 сентября 2014

Если у вас сложный путь к изображению, который использует несколько '.'такие как -

http://website.com/app/folder/imagemanager.php../../../user_images/2982034/images/image.png

Хотя вы можете очистить путь заранее, если нет, с помощью jQuery вы можете попробовать -

// Get the source
var image_src = $(el).attr('src');

// Get the extension. As mentioned above, using split() and pop() 
var extension = image_src.split('.').pop();

// Get just the path. Replace the extension with ''
var path = image_src.replace('.'+extension,'');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...