前言
最近项目需要用到 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 个