求一个正则,验证yyyy-MM-dd
问个正则问题``
可以输入合法的年月日,只需精确到日
4位年,1-12的月,1-31的日
2012-04-23 可以
2012-4-3 可以
2012-14-3 错误
2012-4-33 错误
Regex regex = new Regex(@"");
Match match = regex.Match(mydate);
if (match.Success)
{
success = true;
}
可以直接在这个代码上改```
[解决办法]
\d{4}-[0-9]?[1-9]-([0-2]\d|3[0-1])
[解决办法]
不必用正则啊,这样就行了:
string s = "2012-04-23"; DateTime dt; if (DateTime.TryParseExact(s, "yyyy-MM-dd", null, DateTimeStyles.None, out dt))//验证通过
[解决办法]
日期用正则反而不好
DateTime dt; bool flag = DateTime.TryParse("时间字符串", out dt); if(flag) { //符合 } else { //不符合 }
[解决办法]
^((?!0000)[0-9]{4}-((0?[1-9]|1[0-2])-(0?[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$
说实话,这不是正则干的活
[解决办法]