javascript - js怎樣判斷一個(gè)圖片是不是base64
問題描述
多個(gè)img標(biāo)簽,每個(gè)標(biāo)簽的src都不一樣,
現(xiàn)在需要分別對src為base64編碼的和非base64的圖片做不同的處理,
javascript應(yīng)該如何區(qū)分該圖片是不是base64的?
問題解答
回答1:BASE64碼開頭都是形如data:image/xxx;base64,xxxxxx...的,所以寫個(gè)正則測試一下src就可以了
回答2:$(’img’).each((i,item)=>{ let src = item.src if(src.indexOf(’data:image/jpg;base64,’)>-1){// base64 圖片操作 }else{//path 圖片操作 }})回答3:
非base64圖片都是URL地址嗎
回答4:直接根據(jù)src開頭匹配就行
$(’img’).each((i,item)=>{ let src = item.src if(src.indexOf(’data:image’)>-1){// base64 圖片操作 }else{//path 圖片操作 }})回答5:
要用startWith,這樣效率高:
$(’img’).each((i,item)=>{ let src = item.src if(src.startWith(’data:image’)){// base64 圖片操作 }else{//path 圖片操作 }})回答6:
function validDataUrl(s) { return validDataUrl.regex.test(s);}validDataUrl.regex = /^s*data:([a-z]+/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&’,()*+;=-._~:@/?%s]*?)s*$/i;module.exports = validDataUrl;
相關(guān)文章:
1. 數(shù)據(jù)庫 - mysql如何處理數(shù)據(jù)變化中的事務(wù)?2. mysql - 怎么生成這個(gè)sql表?3. javascript - JS如何取對稱范圍的隨機(jī)數(shù)?4. java - ehcache緩存用的是虛擬機(jī)內(nèi)存么?5. 關(guān)于docker下的nginx壓力測試6. dockerfile - 我用docker build的時(shí)候出現(xiàn)下邊問題 麻煩幫我看一下7. docker-machine添加一個(gè)已有的docker主機(jī)問題8. dockerfile - [docker build image失敗- npm install]9. java - 自己制作一個(gè)視頻播放器,遇到問題,用的是內(nèi)置surfaceview類,具體看代碼!10. java - mongodb分片集群下,count和聚合統(tǒng)計(jì)問題
