我正在使用 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 ?
