Maison > Questions et réponses > le corps du texte
Plusieurs balises img, chaque balise a un src différent,
Maintenant, nous devons effectuer un traitement différent pour les images dont le src est encodé en base64 et les images non base64,
Comment JavaScript doit-il distinguer si l'image est en base64 ?
漂亮男人2017-07-05 11:07:26
Les codes BASE64 commencent toujours par la forme data:image/xxx;base64,xxxxxx...
, alors écrivez simplement une expression régulière et testez src
阿神2017-07-05 11:07:26
$('img').each((i,item)=>{
let src = item.src
if(src.indexOf('data:image/jpg;base64,')>-1){
// base64 图片操作
}else{
//path 图片操作
}
})
为情所困2017-07-05 11:07:26
Est-ce que toutes les adresses URL des images ne sont pas en base64 ?
给我你的怀抱2017-07-05 11:07:26
Juste correspondre selon le début de src
$('img').each((i,item)=>{
let src = item.src
if(src.indexOf('data:image')>-1){
// base64 图片操作
}else{
//path 图片操作
}
})
我想大声告诉你2017-07-05 11:07:26
Vous devez utiliser startWith, qui est plus efficace :
$('img').each((i,item)=>{
let src = item.src
if(src.startWith('data:image')){
// base64 图片操作
}else{
//path 图片操作
}
})
phpcn_u15822017-07-05 11:07:26
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;