jquery中的正则表达式获取图像文件名

发布于 2024-10-19 04:33:57 字数 198 浏览 1 评论 0原文

我想使用 jquery 从图像的 src 中单独提取文件名及其路径及其扩展名。

例如:

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

我需要从上面的代码中获取“images/cat/kitty”和“.gif”。

我该怎么办?

I want to extract filename with path and its extension separately from image's src with jquery.

for example:

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

I need to get "images/cat/kitty" and ".gif" from above code.

how can I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

风铃鹿 2024-10-26 04:33:57

您可以简单地使用 attr 方法:

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

如果您想要单独的名称和扩展名,你可以这样做:

var arr = $('#image_id').attr('src').split('.');
alert(arr[0]);    // name
alert(arr[1]);    // extension

You can simply use attr method instead:

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

If you want name and extension separately, you can do:

var arr = $('#image_id').attr('src').split('.');
alert(arr[0]);    // name
alert(arr[1]);    // extension
终难遇 2024-10-26 04:33:57

仅提取文件名:

    var name = $('#myimg').attr("src");
    var parts = name.split('/');
    name = parts[parts.length-1];

To extract only the file name:

    var name = $('#myimg').attr("src");
    var parts = name.split('/');
    name = parts[parts.length-1];
傲鸠 2024-10-26 04:33:57

不需要正则表达式。使用.split()

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

console.log(ret[0]);  // === 'images/cat/kitty'
console.log(ret[1]);  // === 'gif'

No regex needed. Use .split():

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

console.log(ret[0]);  // === 'images/cat/kitty'
console.log(ret[1]);  // === 'gif'
花期渐远 2024-10-26 04:33:57

如果您有一个使用多个“.”的复杂图像路径例如 -

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,'');

If you have a complex image path that uses multiple '.' such as -

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

Although you could clean up the path beforehand, if not, using jQuery you could try -

// 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,'');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文