图片字符串base64的判断

3,135 阅读1分钟
base64也不一定长度就是4的倍数,比如url格式下的base64编码
1.怎么确认一个字符串是不是base64格式的?
可以通过判断字符串是否具有base64编码的特点来确定。那么base64编码之后的字符串具有哪些特点: 
* 字符串只可能包含A-Z,a-z,0-9,+,/,=字符 
* 字符串长度是4的倍数 
* =只会出现在字符串最后,可能没有或者一个等号或者两个等号

正则判断
private static boolean isBase64(String str) {
    String base64Pattern = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$";
    return Pattern.matches(base64Pattern, str);
}
2.怎么确认一个图片是不是base格式的?
let src = item.src
if(src.indexOf('data:image/jpg;base64,')>-1){

}