gpt4 book ai didi

javascript - 日期格式 'dd-M-y'的正则表达式是什么

转载 作者:行者123 更新时间:2023-12-03 02:02:24 25 4
gpt4 key购买 nike

'01-Aug-12'这样的日期格式的正则表达式是什么。

我在 ASP.NET 应用程序中具有 dd-M-y 日期格式,并希望通过 asp.net 正则表达式验证器控件对其进行验证。

最佳答案

一个非常基本的格式检查是:

\d{2}-[A-Za-z]{3}-\d{2} 

亲自看看here .

为了实际验证,我们需要像 @Brijesh Gandhi 建议的那样进行一天检查,然后添加一个完整的月份列表,如下所示:

([12]\d|0[1-9]|3[0-1])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{2}

如果您想允许像 aug 这样的小写月份,您可以添加不区分大小写修饰符 ?i:,如下所示...

([12]\d|0[1-9]|3[0-1])-(?i:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{2}

...但这也将允许一个月,例如aUg - 只允许第一个字符为大写或小写可能是最正确的。

([12]\d|0[1-9]|3[0-1])-([Jj]an|[Ff]eb|[Mn]ar|[Aa]pr|[Mm]ay|[Jj]un|[Jj]ul|[Aa]ug|[Ss]ep|[Oo]ct|[Nn]ov|[Dd]ec)-\d{2}

查看实际的最终版本 here .

请注意,这仍然不会检测到无效日期,例如 2012 年 2 月 30 日。 不接受这些特殊日期的正则表达式将非常长/丑陋。即使使用 Javascript 的 Date.parse(...)/new Date(...) 也无济于事,因为它很乐意接受上述不存在的日期,并返回 3 月 1 日。因此,为了 100% 正确,您需要自己进行复杂的编码,或者使用像 datejs 这样的库。 .

编辑 1:稍微缩短了 @Brijesh Gandhi 的日期检查,更新了 Regexr 链接。

编辑2:评论正确性。

关于javascript - 日期格式 'dd-M-y'的正则表达式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com