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. boot2docker无法启动2. nignx - docker内nginx 80端口被占用3. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下4. docker - 如何修改运行中容器的配置5. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?6. docker不显示端口映射呢?7. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””8. golang - 用IDE看docker源码时的小问题9. mac连接阿里云docker集群,已经卡了2天了,求问?10. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!