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. docker 17.03 怎么配置 registry mirror ?2. docker 下面创建的IMAGE 他们的 ID 一样?这个是怎么回事????3. mac连接阿里云docker集群,已经卡了2天了,求问?4. 上传图片老是失败是什么原因?SAE_TMP_PATH.后面跟的路径在哪看5. vue 子组件watch监听不到prop的解决6. mobile-web-design - html5 touchmove 怎么获取经过的元素?7. java - Web开发 - POI导出带有下拉框的Excel和解决下拉中数组过多而产生的异常8. javascript - [React Native]如何在Tabs内维护每一个ListView的滚动条?9. 为啥总显示密码错误10. 微信订阅号如何用渠道二维码统计地推效果?
