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. nignx - docker内nginx 80端口被占用2. dockerfile - 为什么docker容器启动不了?3. docker gitlab 如何git clone?4. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?5. golang - 用IDE看docker源码时的小问题6. redis - 究竟是选择微信小程序自带的统计工具还是自己开发一个数据统计的代码?7. docker安装后出现Cannot connect to the Docker daemon.8. javascript - 修改表单多选项时和后台同事配合的问题。9. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?10. javascript - 怎么实现点击表格中的某一行然后就在表单处出现表格中的对应的属性值啊

网公网安备