加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

regex – 正则表达式以匹配有效日期

发布时间:2020-12-14 06:46:01 所属栏目:百科 来源:网络整理
导读:我试图写一个验证日期的正则表达式。正则表达式需要匹配以下内容 M / D / YYYY MM / DD / YYYY 单位数月份可以从前导零开始(例如:03/12/2008) 单位数字可以从前导零开始(例如:3/02/2008) 不能包括2月30日或2月31日(例如:2/31/2008) 到目前为止我有 ^(([1-
我试图写一个验证日期的正则表达式。正则表达式需要匹配以下内容

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

到目前为止我有

^(([1-9]|1[012])[-/.]([1-9]|[12][0-9]|3[01])[-/.](19|20)dd)|((1[012]|0[1-9])(3[01]|2d|1d|0[1-9])(19|20)dd)|((1[012]|0[1-9])[-/.](3[01]|2d|1d|0[1-9])[-/.](19|20)dd)$

这正确匹配除外它仍包括2/30/2008& 2/31/2008。

有人有更好的建议吗?

编辑:我在RegExLib上找到了the answer

^((((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}$

它匹配MM / DD / YYYY格式后的所有有效月份。

感谢大家的帮助。

这不是正确表达式的适当使用。你最好不要使用
[0-9]{2}/[0-9]{2}/[0-9]{4}

然后使用更高级语言检查范围。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读