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

Javascript 时间格式的正则表达式,如DD:HH:MM:SS,javascript,regex,time,Javascript,Regex,Time,我正在尝试对基于时间的文本框进行验证。我需要这样的格式。 00:00:00:00(天:小时:分钟:秒)。 有效时间为99:23:59:59,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\

我正在尝试对基于时间的文本框进行验证。我需要这样的格式。
00:00:00:00
天:小时:分钟:秒
)。 有效时间为
99:23:59:59,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
  • 在行尾(字符串末尾或换行符之前)断言位置
    $
试试这种模式

^\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
  • 在行尾(字符串末尾或换行符之前)断言位置
    $
当输入其他字符时,我是否可以替换为“”(空)?我用哪种方法可以做到这一点?或者我必须检查模式是否匹配?我只需要在按键时限制用户。当输入其他字符时,我是否可以用“”(null)替换?我用哪种方法可以做到这一点?或者我必须检查模式是否匹配?所有我需要的是在按键时间,我只需要限制用户。