首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >date regexep验证器3种格式: dd/mm/yyyy / yyyy和yyyy

date regexep验证器3种格式: dd/mm/yyyy / yyyy和yyyy
EN

Stack Overflow用户
提问于 2016-03-21 13:09:58
回答 1查看 178关注 0票数 0

我正在尝试制作一个日期regexp验证器,该验证器以下列格式验证日期:

  • dd/mm/yyyy
  • 毫米/年
  • 年低于1600年的日期应无效

必须有效:

2015年1月24日、2000年1月1日、2000年1月1日、2000年1月1日、

必须无效:

1599、12/1599、31/12/1599、

我做了这个,但它不适用于dd/mm/yyyymm/yyyy

代码语言:javascript
复制
 ^(1[6-9][0-9]{2}|2[0-9]{3})(?:[-\/](0[1-9]|1[0-2]))?(?:[-\/](0[1-9]|1[0-2])[-\/](0[1-9]|[1-2][0-9]|3[0-1]))?$

Debuggex Demo

知道怎么解决这个问题吗?thx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-21 13:22:22

请注意,您将无法轻松地用正则表达式表示最复杂的日期检查,例如:

  • 一个月的31天有效吗?
  • 2002年9月29日是一年的有效日期吗?

尽管如此,下面的正则表达式应该符合您的规范:

代码语言:javascript
复制
(?:(?:(0[1-9]|[1-2]\d|3[0-1])/)?(0[1-9]|1[0-2])/)?(1[6-9]\d{2}|[2-9]\d{3})

第一组与日部分对应,第二组对应月份,第三组对应年份。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36131954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档