我试图以下面的格式验证日期和月份:
MM/dd
现在,我正在使用此正则表达式来验证:
(0[1-9]|1[0-2])\/(3[0-1]|2[0-9]|1[0-9]|0[1-9])
正则表达式成功验证了这些格式:
//Below are valid dates
09/05
01/01
12/30
10/30
//Below are invalid dates
11/31
09/31
如何修改正则表达式以便它还检查月中的天数?
答案 0 :(得分:4)
我认为正则表达式不是正确的方法。使用DateTime
解析而不是MM/yy
格式以及将/
作为DateSeparator
的文化。
string s = "12/31";
DateTime dt;
if(DateTime.TryParseExact(s, "MM/dd", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
// Valid
}