javascript - 时间格式的正则表达式,如 DD :HH:MM:SS

标签 javascript regex time

我正在尝试对基于时间的文本框进行验证。我需要这样的格式。 00:00:00:00(天:小时:分钟:秒)。 有效时间为 99:23:59:59、01:01:01:01、25:00:20:55

无效时间为99:24:60:60、99:2:1:1

我对正则表达式了解不多。那么任何人都可以帮助我构建一个与我的场景匹配的正则表达式吗?

最佳答案

尝试这个模式,

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

简要说明:

  • 在行的开头断言位置(在字符串的开头或换行符之后)^
  • 匹配单个数字 0..9 \d{2}
    • 正好 2 次 {2}
  • 按字面意思匹配字符“:”:
  • 匹配下面的正则表达式并将其匹配捕获到反向引用编号 1 ([0-1]\d|2[0-3])
    • 匹配下面的正则表达式(仅当此选项失败时才尝试下一个选项)[0-1]\d
      • 匹配“0”和“1”之间的单个字符[0-1]
      • 匹配单个数字 0..9 \d
    • 或者匹配下面的正则表达式 2(如果该正则表达式匹配失败,则整个组失败)2[0-3]
      • 按字面意思匹配字符“2”2
      • 匹配“0”和“3”之间的单个字符[0-3]
  • 按字面意思匹配字符“:”:
  • 匹配下面的正则表达式并将其匹配捕获到反向引用编号 2 ([0-5]\d)
    • 匹配“0”和“5”之间的单个字符 «[0-5]»
    • 匹配单个数字 0..9 \d
  • 按字面意思匹配字符“:”:
  • 匹配下面的正则表达式并将其匹配捕获到反向引用编号 3 «([0-5]\d)»
    • 匹配“0”和“5”之间的单个字符[0-5]
    • 匹配单个数字 0..9 \d
  • 在行尾断言位置(在字符串末尾或换行符之前)$

关于javascript - 时间格式的正则表达式,如 DD :HH:MM:SS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18438023/

相关文章:

javascript - Google Charts JSON 结构 - 什么是不正确的

javascript - 设置页面的所有链接目标

java - Splunk 正则表达式换行器,将多个 ERROR [stderr] 行组合成一个事件

javascript - 使用替换方法替换innerHTML以及在Javascript中不起作用的正则表达式

datetime - 哪些语言可以很好地执行日期、时间和日历操作?

javascript - 附加所有列表项仅针对最后一项

javascript - 等待所有异步 Ajax 调用,以便页面完全加载

javascript - 用于匹配多行中特定单词后的单词的正则表达式

time - Google Analytics(分析):如何为尺寸添加“秒”?

ios - 如何以毫秒为单位准确记录方法的执行时间?