Skip to main content
 首页 » 编程设计

c#之验证日期的正则表达式之C#

2024年01月29日23thcjp

我正在使用 calenderExtender 控件从用户那里获取日期。文本框可以由用户手动编辑。我正在使用 RegularExpressionValidator 来验证输入日期。我需要的输入格式是

MMM dd, yyyy

现在我使用下面显示的正则表达式来验证日期

  ((Jan)|(Feb)|(Mar)|(Apr)|(May)|(Jun)|(Jul)|(Aug)|(Sep)|(Oct)|(Nov)|(Dec)){1}\s?\d{1,2},\s?\d{4} 

它工作正常。但它不检查输入日期是否小于 28,30 或 31 based on month 。例子:12 月有 31 天。如果用户输入大于 31,则表达式必须捕捉到它。 使用正则表达式实现此目的的任何想法??

请您参考如下方法:

您想要执行的验证(排除基于月份的无效日期范围)确实不适合正则表达式。您应该解析月份、日期和年份,然后根据解析的值进行验证。尝试通过正则表达式执行此操作会很痛苦且难以维护。

或者,您是否考虑过只使用 DateTime.Parse ?