为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式匹配 PHP 中的时间

正则表达式匹配 PHP 中的时间

PHP
呼唤远方 2021-06-18 14:01:51
我想用正则表达式检查时间输入格式。我这样做是为了检查这种格式“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 回答

?
宝慕林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) 


查看完整回答
反对 回复 2021-06-19
  • 2 回答
  • 0 关注
  • 239 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信