前言
最近项目需要用到 cropper,但是 vue-cropper 配起来过于麻烦,想找一下现成的手机端 cropper。结果还真找到了,刚出生两个月多的 vue-cropper-h5。但是并不适配我的项目,需要优化,需要能 LoadFile() 和 LoadBase64()。于是 base64 格式校验正则就来了。
正则
[\/]?([\da-zA-Z]+[\/+]+)*[\da-zA-Z]+([+=]{1,2}|[\/])?
解析
-
[\/+]+以/和+为分割,会有//、/+、/+/的情况 -
[\/]?jpg图片base64,开头固定是/9j/4AAQSkZJRgABA -
[\da-zA-Z]+base64 标准段 -
([\da-zA-Z]+[\/+]+)*可能有,也可能没有标准段组合 -
([+=]{1,2}|[\/])?结尾可能有,也可能没有- 可能有 1 或 2 个
+或=的结尾 - 可能有单个
/的结尾
- 可能有 1 或 2 个