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 - 怎么下載vue csp版本的2.0或者以上?2. golang - 用IDE看docker源碼時的小問題3. javascript - 求救!網頁播放視頻只有聲音沒有畫面,網頁上傳視頻文件時怎么知道視頻的編碼為H264還是MPEG4??4. javascript - webpack --hot 熱重載無效的問題5. io - java 文件操作,如何向指定的位置插入內容 (不是替換內容) ?6. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?7. javascript - vue使用videojs+videojs-contrib-hls報錯8. dockerfile - [docker build image失敗- npm install]9. mysql如何配置遠程php外網鏈接數據庫10. Python 爬蟲 遇到的問題(手淘問大家)
