要求:用C#语言在WinForm中实现对文本框中输入的年月进行验证。
需求:
1、当输入201011格式的年月时,能自动转换为2010-11格式
2、当输入2010-11时不用转换格式。
3、当输入20103时,转换为2010-3格式。
4、当输入2010、2010-、2010--、2010---、2010--6、2010-9-时,默认月份为1月,转换为2010-1。
5、文本框内只能输入数字或“-”,“-”只能在第5位。
6、前4位年份范围为1950-2010。
7、月份范围为1-12。知识点提示:
判断字符是否为数字的方法
bool char.IsDigit(char c)
需求:
1、当输入201011格式的年月时,能自动转换为2010-11格式
2、当输入2010-11时不用转换格式。
3、当输入20103时,转换为2010-3格式。
4、当输入2010、2010-、2010--、2010---、2010--6、2010-9-时,默认月份为1月,转换为2010-1。
5、文本框内只能输入数字或“-”,“-”只能在第5位。
6、前4位年份范围为1950-2010。
7、月份范围为1-12。知识点提示:
判断字符是否为数字的方法
bool char.IsDigit(char c)
DateTime.TryParse
考虑闰年
^(?:(?:(?:(?:(?:1[6-9]|[2-9][0-9])?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:0229))|(?:(?:(?:1[6-9]|[2-9][0-9])?[0-9]{2})(?:(?:(?:0[13578]|1[02])31)|(?:(?:0[13-9]|1[0-2])(?:29|30))|(?:(?:0[1-9])|1[0-2])(?:0[1-9]|1[0-9]|2[0-8]))))$
http://topic.csdn.net/u/20090720/08/deed1769-263e-4b47-8275-9e0931d124c4.html