<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
後端的資料介面返回圖片連結列表,前端將圖片列表渲染出來,展示的時候,需要顯示圖片名稱。如以下的圖片連結,那麼怎麼比較快速的從連結中獲取圖片的名稱呢?
連結例子:https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp?q-sign-algorithm=xxxx
一般來說,圖片的名稱都是在連結中最後一個/
之後,如果連結有攜帶引數,那麼圖片名稱就是在連結中最後一個/
之後、?
之前。
那麼無論使用什麼方法,都必須滿足上述條件。
連結中有引數存在, 即有?
存在:這種比較簡單,因為存在?
這種獨一無二的標誌,那麼需要先匹配圖片名稱,再匹配?
所在的位置即可:
let url = 'https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp?q-sign-algorithm=xxxx' // 匹配帶有英文、_、.、數位的圖片名稱 const reg = /[w.]+(?=?)/g // 匹配帶有中文、英文、_、.、數位的圖片名稱 const regWithChinese = /[w.u4e00-u9fa5]+(?=?)/g const result = url.match(reg) // 若不存在符合的條件,result值為null,因此需要進行判斷 const imgName = result ? result[0] : '不存在' console.log('imgName: ', imgName); // 輸出 imgName: 1_SalesOrderAttachment_File_41XV.webp
連結中不存在引數,即沒有?
存在: 這種比較麻煩,沒有?
,那麼剩下的判斷條件就是圖片名稱處於最後一個/
的之後位置了,這個有三種方法:
第一種利用/
為標識,匹配所有非/
的字串,取最後一個:
const url = 'https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp' const reg = /[^/]+/g const imgName = url.match(reg).filter(item => item).pop() console.log('imgName: ', imgName); // 輸出 imgName: 1_SalesOrderAttachment_File_41XV.webp
第二種是先通過(?!.*/)
找出不是以/
結尾的字串的起始位置,可以理解為最後一個/
後面的位置,然後匹配字串:
const url = 'https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp' const reg = /(?!.*/).*/g const imgName = url.match(reg).filter(item => item).pop() console.log('imgName: ', imgName); // 輸出 imgName: 1_SalesOrderAttachment_File_41XV.webp
第三種是在前兩種結合,利用/
為標識,匹配所有非/
的字串,然後找出位置不是在/
前面的字串:
const url = 'https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp' const reg = /[^/]+(?!.*/)/g const imgName = url.match(reg).filter(item => item).pop() console.log('imgName: ', imgName); // 輸出 imgName: 1_SalesOrderAttachment_File_41XV.webp
到此這篇關於使用正規表示式從連結中獲取圖片名稱的文章就介紹到這了,更多相關正規表示式連結獲取圖片名稱內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45