我正在尝试使用如下控制器中的Laravel / Lumen验证来检查句子中是否包含特殊字符|
或]
:
'to_address' => 'required|max:200|regex:/^[^(|]~`!%^&*=};:?><’)]*$/',
如果我在控制器上使用此验证,则出现以下错误
{
"error": "preg_match(): No ending delimiter '/' found"
}
在没有|
和]
的情况下,验证工作正常。
答案 0 :(得分:1)
通常使用规则数组可以解决此问题。
'to_address' => ['required', 'max:200', 'regex:/^[^(|]~`!%^&*=};:?><’)]*$/'],
答案 1 :(得分:0)
|
和]
都是正则表达式中的特殊字符,因此您需要使用\
字符对其进行转义:
'to_address' => 'required|max:200|regex:/^[^(\|\]~`!%^&*=};:?><’)]*$/',
如果管道应该是OR
,那么您将需要使用数组,如Laravel preg_match(): No ending delimiter '/' found
进一步阅读: