距开课0天0时0分-10196117秒
巴扎黑2017-07-05 11:05:26 0 6 783
[JavaScript讨论组]举报回复话题 ↕
多个img标签,每个标签的src都不一样,
现在需要分别对src为base64编码的和非base64的图片做不同的处理,
javascript应该如何区分该图片是不是base64的?
6
0
分享
漂亮男人 2017-07-05 11:07:266楼
BASE64码开头都是形如data:image/xxx;base64,xxxxxx...的,所以写个正则测试一下src就可以了
data:image/xxx;base64,xxxxxx...
赞 +0添加回复
阿神 2017-07-05 11:07:265楼
$('img').each((i,item)=>{ let src = item.src if(src.indexOf('data:image/jpg;base64,')>-1){ // base64 图片操作 }else{ //path 图片操作 } })
为情所困 2017-07-05 11:07:264楼
非base64图片都是URL地址吗
给我你的怀抱 2017-07-05 11:07:263楼
直接根据src开头匹配就行
$('img').each((i,item)=>{ let src = item.src if(src.indexOf('data:image')>-1){ // base64 图片操作 }else{ //path 图片操作 } })
我想大声告诉你 2017-07-05 11:07:262楼
要用startWith,这样效率高:
$('img').each((i,item)=>{ let src = item.src if(src.startWith('data:image')){ // base64 图片操作 }else{ //path 图片操作 } })
phpcn_u1582 2017-07-05 11:07:261楼
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;
漂亮男人 2017-07-05 11:07:266楼
BASE64码开头都是形如
data:image/xxx;base64,xxxxxx...
的,所以写个正则测试一下src就可以了 赞 +0添加回复
阿神 2017-07-05 11:07:265楼
赞 +0添加回复
为情所困 2017-07-05 11:07:264楼
非base64图片都是URL地址吗
赞 +0添加回复
给我你的怀抱 2017-07-05 11:07:263楼
直接根据src开头匹配就行
赞 +0添加回复
我想大声告诉你 2017-07-05 11:07:262楼
要用startWith,这样效率高:
赞 +0添加回复
phpcn_u1582 2017-07-05 11:07:261楼
赞 +0添加回复