【问题标题】:Javascript regular expression to validate time format "09:15 AM"用于验证时间格式“09:15 AM”的 Javascript 正则表达式
【发布时间】:2015-10-06 14:38:03
【问题描述】:

我尝试使用以下正则表达式,但它没有按预期工作。

/^([01]?[0-9]|2[0-3]):[0-5][0-9]{2}(AM|PM)/

【问题讨论】:

  • 你可以试试/^\d{2}:\d{2}(A|P)M$/i
  • 如果您遵循 24 小时制,为什么要在最前面使用 AM/PM。试试/(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9](A|P)M/
  • 这也不行。
  • @PradeepChalla 添加输入字符串,以及从中提取日期的 JS 代码

标签: javascript regex angularjs html


【解决方案1】:

您可以尝试使用这个正则表达式:

^(0?[1-9]|1[012])(:[0-5]\d) [APap][mM]$

REGEX DEMO

【讨论】:

  • [APap][mM] 为什么不是i 标志。也缺少$
  • 感谢@Rahul 我根据 tushar cmets 进行了更改并且工作正常 /^(0?[1-9]|1[012])(:[0-5]\d) (A|P )M$/i
  • @PradeepChalla:- 不客气,是的,您可以更改以使其更紧凑。
【解决方案2】:

你可以这样试试

/^[1-12]:[0-59](A|P)M$/i

【讨论】:

    【解决方案3】:

    您在 AM|PM 之前缺少空格,并且有不必要的 {2} 以下更改对我有用:

    ^([01]?[0-9]|2[0-3]):[0-5][0-9] (AM|PM)
    

    在字符串上

    09:15 AM
    

    【讨论】:

      猜你喜欢
      • 2012-09-18
      • 2011-10-06
      • 2012-02-07
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      相关资源
      最近更新 更多