【发布时间】:2019-11-01 08:13:09
【问题描述】:
我在提供程序中有一个自定义验证功能。 如果用户输入的不是这些 [A, B , C 和 /],则返回错误。 目前该功能运行良好。 提前我想检查以下模式(只允许该模式)和非该模式,想要返回错误。
A
C
B
A/B
A/C
A/C/B
A/B/C
C/A
C/B
C/A/B
C/B/A
B/A
B/C
B/A/C
B/C/A
Validator::extend('capital_letter_abc_with_slash', function ($attribute, $value, $parameter, $validator) {
return preg_match('/[ABC\/]/', $value) === 1;
});
【问题讨论】:
-
可能是
'~^(?!.*([ABC]).*\1)[ABC](?:/[ABC]){0,2}$~'? -
A/B出现两次,A/C没有出现,是错字吗? -
@kerbholz 是的,这是我的错,我更新了。
-
@WiktorStribiżew 感谢您的评论。它也可以正常工作。