【发布时间】:2015-11-10 08:11:32
【问题描述】:
我有一个正则表达式,我需要将 24 小时时间格式添加到:
^(((((0[13578])|([13578])|(1[02]))[\-\/\s]?((0[1-9])|([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?((0[1-9])|([1-9])|([1-2][0-9])|(30)))|((02|2)[\-\/\s]?((0[1-9])|([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s(((0[1-9])|([1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$
我将如何添加 24 小时时间格式。
【问题讨论】:
-
你能举例说明你希望匹配的字符串是什么样子吗?
-
@ndn ex。 2013 年 12 月 30 日 20:14,但 2013 年 12 月 30 日 24:00 除外。
-
使用正则表达式的日期是一个很大的禁忌。会计闰年简直太糟糕了。
-
你可能会在这里得到一些线索:stackoverflow.com/questions/24375711/…
-
不要使用正则表达式进行完整日期验证。月份在 1 到 12 之间,日期在 1 到 31 之间,年份在 1800 到 2100 之间的基本健全性检查是合理的。真实日期验证应该涉及尝试通过编程语言将值转换为日期。
标签: javascript c# asp.net regex