正则表达式条件:正好给用户两个选项

Regex conditional: give the user exactly two options

用户必须在浏览器表单中输入 his/her 客户编号。后端是使用基于 java 的 OpenCMS 构建的。

客户编号由 8 个字母数字、一个斜线和另外 3 个字符组成(即总共 12 个字符)。但是,有时用户会忘记斜线。如果是后者,我们只有 11 个字母数字字符。

如何让用户选择是否使用斜线书写客户编号?

有效输入为:

a1234567/123
01234567/321

01234567890
a0123456789

目前,我刚刚设法将正则表达式限制为 12 个字母数字字符。

^[A-Za-z0-9]{12}$

我们必须以 ^ 符号开始并以 $ 符号结束。

匹配正则表达式:

^[a-zA-Z0-9]{8}\/?[a-zA-Z0-9]{3}$

首先是精确的 8 alphanumeric chars,然后是可选的 slash 和精确的 3 alphanumeric chars