Javascript 军用(24小时)和民用(23:59)格式的匹配时间正则表达式

Javascript 军用(24小时)和民用(23:59)格式的匹配时间正则表达式,javascript,regex,validation,jquery-inputmask,Javascript,Regex,Validation,Jquery Inputmask,我想为军用和民用的验证时间创建正则表达式 我刚在军事时间找到这个 ^([01]\d | 2[0-3]):?([0-5]\d)$ 我需要为军用和民用的开始时间和结束时间创建模式 例如,我想在文本框中以如下格式匹配时间 [编辑器请不要编辑此粗体示例] 10:30-19:30 1030-1930 10-19 如何在JavaScript中进行验证 请帮助/建议我找到图案 这里有一种方法 ^(?:[01]\d|2[0-3])(?::?[0-5]\d)?-(?:[01]\d|2[0-3])(?::?[0

我想为军用和民用的验证时间创建正则表达式

我刚在军事时间找到这个

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

我需要为军用和民用的开始时间和结束时间创建模式

例如,我想在文本框中以如下格式匹配时间

[编辑器请不要编辑此粗体示例]

  • 10:30-19:30
  • 1030-1930
  • 10-19
如何在JavaScript中进行验证

请帮助/建议我找到图案


这里有一种方法

^(?:[01]\d|2[0-3])(?::?[0-5]\d)?-(?:[01]\d|2[0-3])(?::?[0-5]\d)?$
基本上是你们两个要求中间加连字符。它还使分钟成为可选的(通过将它们放在可选的非捕获组
(?:…)?


.

您尝试了什么?顺便说一句,您了解您提供的正则表达式的含义吗?很容易修改它以实现您想要的。对不起,先生,我不知道如何使其用于两种验证。
^([01]\d | 2[0-3]):?([0-5]\d)$
这一个只适用于单一时间,例如1200,但我的要求是军用和民用。我们可以在文本框中设置与开始时间到结束时间相同的时间。您可以使用
+
将较大的正则表达式组合成单个表达式。使用此技巧,您可以为军用变体编写一个良好的表达式,以及另一个不相关的表达式按民用格式。@C-Otto-Huh…?不要忘记使用锚,以免与
作业19:00-21:00或此处
匹配。非常感谢您的指导@ClasG@WiktorStribiżew先生