javascript - js怎樣判斷一個圖片是不是base64
問題描述
多個img標簽,每個標簽的src都不一樣,
現在需要分別對src為base64編碼的和非base64的圖片做不同的處理,
javascript應該如何區分該圖片是不是base64的?
問題解答
回答1:BASE64碼開頭都是形如data:image/xxx;base64,xxxxxx...的,所以寫個正則測試一下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:直接根據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;
相關文章:
