我想用正则表达式检查时间输入格式。我这样做是为了检查这种格式“H:m”(24 小时格式):$date = '23:59';if(!preg_match('/^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$/', $date)) { form_set_error('Error in time format');}现在我还需要检查这种格式:"H:m - H:m"什么时候$date = '09:00 - 10:00';我该如何解决这个问题?
2 回答
![?](http://img1.sycdn.imooc.com/5333a207000118af02200220-100-100.jpg)
宝慕林4294392
TA贡献2021条经验 获得超8个赞
您可以简单地删除开始和结束字符并随时检查它是否匹配,可能类似于:
$re = '/(2[0-3]|[01]?[0-9]):([0-5]?[0-9])/m';
$date = '09:00 - 10:00';
preg_match_all($re, $date, $matches, PREG_SET_ORDER, 0);
foreach ($matches as $value) {
echo $value[0] . " is a match \n";
}
输出
09:00 is a match
10:00 is a match
结合正则表达式
如果您希望组合两个正则表达式,您可以简单地使用逻辑 OR 并将您的表达式放在两个捕获组中:
(expression 1)|(expression 2)
- 2 回答
- 0 关注
- 239 浏览
添加回答
举报
0/150
提交
取消