JavaScript 格式 H:mm 的时间正则表达式

JavaScript Time Regex for format H:mm

我有时间的正则表达式/^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/

这也验证了 24 小时格式。

如果我不想接受前导零,正则表达式应该是什么?

示例:

9:31 不是 09:31

Update:

此问题:Regular expression for matching HH:MM time format 接受带前导零和不带前导零的版本。但我正在寻找不接受前导零的 24 小时正则表达式。不是重复的

我试过这个:

^([1-9]|1[0-9]|2[0-3]):[0-5][0-9]$

但不接受0:24

有什么想法吗?谢谢

捕获组中的第二个交替匹配带有前导零的小时数:

0[0-9]

所以,只需删除它。如果需要,您还可以使用 1? 代替前两个交替,使用 \d 代替 [0-9] 使模式更干:

^(1?\d|2[0-3]):[0-5]\d$

https://regex101.com/r/jS9TTj/1

我的回答是:^([0-9]|1[0-9]|2[0-3]):[0-5][0-9]$

我正在寻找不接受前导零的正则表达式

示例:

  • 0:30
  • 9:30(不是 09:30)
  • 0:00(午夜 12 点)

https://regex101.com/r/hcjjHN/2