相关疑难解决方法(0)

正则表达式匹配有效日期

我正在尝试编写一个验证日期的正则表达式.正则表达式需要匹配以下内容

  • M/d/YYYY
  • MM/DD/YYYY
  • 单个数字月份可以从前导零开始(例如:03/12/2008)
  • 单位数天可以从前导零开始(例如:2008年3月2日)
  • 不能包括2月30日或2月31日(例如:2008年2月31日)

到目前为止我有

^(([1-9]|1[012])[-/.]([1-9]|[12][0-9]|3[01])[-/.](19|20)\d\d)|((1[012]|0[1-9])(3[01]|2\d|1\d|0[1-9])(19|20)\d\d)|((1[012]|0[1-9])[-/.](3[01]|2\d|1\d|0[1-9])[-/.](19|20)\d\d)$
Run Code Online (Sandbox Code Playgroud)

这恰当匹配除了它还包括2/30/2008和2/31/2008.

有人有更好的建议吗?

编辑:我在RegExLib上找到了答案

^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$
Run Code Online (Sandbox Code Playgroud)

它匹配遵循MM/DD/YYYY格式的所有有效月份.

谢谢大家的帮助.

regex date

63
推荐指数
5
解决办法
17万
查看次数

正则表达式随时间验证正确的ISO8601日期字符串

例如: 2015-01-17T18:23:02+00:00

由于字符串的某些组成部分被认为是"有效",因此在使用正则表达式时会遇到一些问题,因此可能不需要.

此外,字符串可以格式化为:2015-01-17T18:23:02Z轻微抛弃我

先谢谢你们.

regex

17
推荐指数
2
解决办法
2万
查看次数

标签 统计

regex ×2

date ×1