我有一个 JavaScript 应用程序,我正在尝试让以下正则表达式使用从或 ( ) 到最高(H)H:mm的时间格式:00:010:0122:00
^(2[0-2]|[0-1]?[\d]):[0-5][\d]$
问题是它还允许 22 后的任何分钟,例如22:59有效,我想将其限制为22:00.
已经搜索过其他帖子,但找不到符合我条件的帖子。欢迎提出任何建议,因为此时我不确定我是否可以使用纯正则表达式来做到这一点,或者我是否应该求助于 JavaScript
我有一个 JavaScript 应用程序,我正在尝试让以下正则表达式使用从或 ( ) 到最高(H)H:mm的时间格式:00:010:0122:00
^(2[0-2]|[0-1]?[\d]):[0-5][\d]$
问题是它还允许 22 后的任何分钟,例如22:59有效,我想将其限制为22:00.
已经搜索过其他帖子,但找不到符合我条件的帖子。欢迎提出任何建议,因为此时我不确定我是否可以使用纯正则表达式来做到这一点,或者我是否应该求助于 JavaScript
22:00您可以为价值和用途创建一个单独的替代方案
/^(?:(?:2[01]|[01]?\d):[0-5]\d|22:00)$/
请参阅正则表达式演示。
图案细节
^- 字符串的开始(?:- 一个外部非捕获组的开始,用于使锚适用于组中的所有备选方案
(?:2[01]|[01]?\d):[0-5]\d:
(?:2[01]|[01]?\d)- 20,21或可选的0或1后跟任何一位数字,然后:- 一个冒号[0-5]\d- 一个数字从0到5,然后是任何一个数字|- 或者22:00 - 一个22:00字符串)- 外部组的结束$- 字符串结束。