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;
相關文章:
1. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變2. html - vue項目中用到了elementUI問題3. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?4. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。5. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?6. javascript - 有什么比較好的網頁版shell前端組件?7. java - 如何寫一個intellij-idea插件,實現編譯時修改源代碼的目的8. javascript - [js]為什么畫布里不出現圖片呢?在線等9. java 中Long 類型如何轉換成Double?10. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?
