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. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf2. mysql - 怎么生成這個sql表?3. mysql儲存json錯誤4. php - 公眾號文章底部的小程序二維碼如何統計?5. mysql - 表名稱前綴到底有啥用?6. mysql - 數據庫表中,兩個表互為外鍵參考如何解決7. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?8. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?9. mysql - 數據庫建字段,默認值空和empty string有什么區別 11010. sql語句 - 如何在mysql中批量添加用戶?
