Есть ли RegEx для проверки Base32 :: RFC 3548?

Я хочу проверить код Base32 перед его преобразованием.
Есть ли способ сделать это, например, регулярное выражение?
Мне нужно следовать этим стандартам RFC 3548

5

Решение

Это должно сделать это:

^(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}={6}|[A-Z2-7]{4}={4}|[A-Z2-7]{5}={3}|[A-Z2-7]{7}=)?$

демонстрация

(?:[A-Z2-7]{8})* part обрабатывает 40-битные последовательности. Вторая часть обрабатывает последние байты, как указано в спецификации. Обратите внимание, что этот шаблон также будет принимать пустую строку (0 байт).

В PHP используйте это с preg_match:

$isMatch = preg_match('#^(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}={6}|[A-Z2-7]{4}={4}|[A-Z2-7]{5}={3}|[A-Z2-7]{7}=)?$#', $input);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]