使用PHP语言验证小时和分钟的正则表达式

时间:2015-09-15 14:55:59

标签: php regex

我写了PHP代码,使用HHMM检查Regular Expression格式。

  $str = '23:40';
  if(preg_match('/([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?/', $str)) {
     echo "true";
  }
    else 
    echo "false";
   }

它为给定的字符串提供true。但是,当我更改$str = '2340'时,它会给出false

     $str = '2340'; //true
     $str = '23:40'; // false
     $str = '2450' ; // false
     $str = '1261'; // false

以上是我希望从上面Regular Expression检查的结果。

3 个答案:

答案 0 :(得分:1)

我认为这可能有助于你

preg_match('/^([01][0-9]|2[0-3])[0-5][0-9]$/', $str)

将返回true:" 2340"还有更多

答案 1 :(得分:1)

您正在检查错误的小时数。您可以将第一组小时0-19设为可选。

试试这个:

([01][0-9]|2[0-3])[0-5][0-9]

哪个匹配

0-1920-23;然后是00-59

这似乎是你真正想要匹配的。

演示:https://regex101.com/r/rH9lZ9/1

答案 2 :(得分:0)

[[UIViewController topViewController] presentViewController:alertController ...];