是否有RegEx来验证Base32 :: RFC 3548

Jac*_*ore 5 php regex rfc

我想在转换之前验证Base32代码.有没有办法做正则表达式?我需要遵循RFC 3548的这些标准

Luc*_*ski 5

这应该可以做到:

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

演示

(?:[A-Z2-7]{8})*部件处理 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);
Run Code Online (Sandbox Code Playgroud)