Php 正则表达式在Laravel中的使用
这是我的Laravel代码:Php 正则表达式在Laravel中的使用,php,regex,Php,Regex,这是我的Laravel代码: $validator = \Validator::make($val, [ 'service_activity' => 'required|max:1000', 'inspired' => 'required', 'obstacles' => 'required|max:1000', 'wo
$validator = \Validator::make($val, [
'service_activity' => 'required|max:1000',
'inspired' => 'required',
'obstacles' => 'required|max:1000',
'working_on_acitivity' => array('required', 'regex:^(1[0-2]|0[1-9]|\d)\/(20\d{2}|19\d{2}|0(?!0)\d|[1-9]\d)$'),
'spend_time' => 'required',
'activity_impact' => 'required|max:1000',
'fund_raising' => 'required',
'raised_amount' => 'required|numeric',
'people_involved' => 'required|numeric',
'learned_from_experience' => 'required|max:1000',
],$messages);
我想使用regex作为working\u on\u activity
中的字段,但总是得到相同的错误。我在Laravel文档中给出的数组中使用了正则表达式:
键入“:”ErrorException“,”消息“:”preg_match():未找到结尾分隔符“^”
改变
到
使用#
作为分隔符。
(这是基于您关于缺少分隔符的错误消息。)更改
'regex:^(1[0-2]|0[1-9]|\d)\/(20\d{2}|19\d{2}|0(?!0)\d|[1-9]\d)$'
到
使用#
作为分隔符。
(这是基于您关于缺少分隔符的错误消息。)可能是这样-添加两个斜杠
'regex://(1[0-2]|0[1-9]|\d)\/(20\d{2}19\d{2}0(?!0)\d{124; 1-9]\d)$/'
?您需要在模式周围添加分隔符(例如/
)。顺便说一句:“在活动上工作”
=>“在活动上工作”
大家好。看起来您正在用小写字母书写所有标题。当编辑阅读你的问题时,错误可能会随着时间的推移而改善,因此如果你能在标题开头使用大写字母,对于像Laravel这样的品牌,这将节省一些未来的努力。谢谢!@谢谢,你解决了我的问题。也许是这样-添加两个斜杠'regex://(1[0-2]| 0[1-9]|\d)\/(20\d{2}19\d{2}0(?!0)\d{1-9]\d$/'
?需要在模式周围添加分隔符(例如/
)。顺便说一句:“在活动上工作”
=>“在活动上工作”
大家好。看起来您正在用小写字母书写所有标题。当编辑阅读你的问题时,错误可能会随着时间的推移而改善,因此如果你能在标题开头使用大写字母,对于像Laravel这样的品牌,这将节省一些未来的努力。谢谢!@谢谢,你解决了我的问题。
'regex:#^(1[0-2]|0[1-9]|\d)\/(20\d{2}|19\d{2}|0(?!0)\d|[1-9]\d)$#'