日期:2014-05-20  浏览次数:20716 次

请问一个YYYYmmdd的验证问题?
请问一个YYYYmmdd的验证的正则表达式应该怎么写?
看了半天正则表达式,还是没有学会复杂的语句,求指导了

------解决方案--------------------
是关于年月日的吗?
我觉得最简单的莫过于 DateTime.TryParse("2011-01-02");
不过你中间要求没有杠线,就显得有些麻烦了。对于日期来说,正则的判断很麻烦。为什么不考虑直接用日期控件?

------解决方案--------------------

如果要验证的很准确。。


http://www.cnblogs.com/dongzhiquan/archive/2009/07/27/1994782.html
------解决方案--------------------
探讨

引用:
是关于年月日的吗?
我觉得最简单的莫过于 DateTime.TryParse("2011-01-02");
不过你中间要求没有杠线,就显得有些麻烦了。对于日期来说,正则的判断很麻烦。为什么不考虑直接用日期控件?

唉,想学习下正则的,没有学会,那太麻烦了,后台,有那个控件吗??

------解决方案--------------------
日期的正则表达式:
Date =new Date(@"19|20)\d\d[-/*]([1-9]|1[0|2])[-/*](0[1-9]|[12][0-9]|3[01])");
------解决方案--------------------
正则……
------解决方案--------------------
C# code
Regex regex = new Regex(@"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|"
                +@"(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|"
                +@"(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])"
                +@"|((16|[2468][048]|[3579][26])00))-0?2-29-))$");