Вы можете использовать следующее регулярное выражение, чтобы проверить, закодирована ли строка в base64:
^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$
В кодировке base64 набор символов равен [A-Z, a-z, 0-9, and + /]
. Если длина покоя меньше 4, строка дополняется '='
символами.
^([A-Za-z0-9+/]{4})*
означает, что строка начинается с 0 или более групп base64.
([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$
означает, что строка заканчивается в одной из трех форм: [A-Za-z0-9+/]{4}
, [A-Za-z0-9+/]{3}=
или [A-Za-z0-9+/]{2}==
.