首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用于验证图像url的Regex,该url可能包含jpeg、jpg、gif、png等扩展。

用于验证图像url的Regex,该url可能包含jpeg、jpg、gif、png等扩展。
EN

Stack Overflow用户
提问于 2022-11-17 09:26:47
回答 2查看 51关注 0票数 1

用于验证图像url的Regex,该url可能包含jpeg、jpg、gif、png等扩展。

我在用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/\.(jpg|jpeg|png|gif|webp)(\?.*)*$/i

但对https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/macbook-air-gallery3-20201110?wid=4000&hei=3072&fmt=jpeg&qlt=80&.v=1603399121000来说却是假的

我期待一个正则表达式,如果像jpg、jpeg、png、gif、webp这样的扩展出现在url中,它就能给出真结果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-18 15:23:09

您可以使用此regex测试URL参数fmt=<format>

  • 第一个示例:fmt=jpeg in
  • 第二个示例:fmt=jpeg at
  • 第三个示例:fmt=bmp (不支持的格式)H 210F 211

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const regex = /\bfmt=(jpg|jpeg|png|gif|webp)(?=(&|$))/;
[
  'https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/macbook-air-gallery3-20201110?wid=4000&hei=3072&fmt=jpeg&qlt=80&.v=1603399121000',
  'https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/macbook-air-gallery3-20201110?wid=4000&hei=3072&qlt=80&.v=1603399121000&fmt=jpeg',
  'https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/macbook-air-gallery3-20201110?wid=4000&hei=3072&fmt=bmp&qlt=80&.v=1603399121000',
].forEach(url => {
  console.log(url + ' => ' + regex.test(url));
});

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/macbook-air-gallery3-20201110?wid=4000&hei=3072&fmt=jpeg&qlt=80&.v=1603399121000 => true
https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/macbook-air-gallery3-20201110?wid=4000&hei=3072&qlt=80&.v=1603399121000&fmt=jpeg => true
https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/macbook-air-gallery3-20201110?wid=4000&hei=3072&fmt=bmp&qlt=80&.v=1603399121000 => false

对regex的解释:

  • \b -- word boundary
  • fmt= -文字fmt=参数(这是为了避免错误的fmt=-支持的文件extensions
  • (?=(&|$))的逻辑‘或’- &或string

的正向查找。

票数 0
EN

Stack Overflow用户

发布于 2022-11-18 01:52:48

我不知道您到底想做什么,但是应该返回true

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var text = "https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/macbook-air-gallery3-20201110?wid=4000&hei=3072&fmt=jpeg&qlt=80&.v=1603399121000";
const regex = new RegExp(/(\W)(jpg|jpeg|png|gif|webp)(\W)/);
console.log(regex.test(text));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74479668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文