如果RegularExpressionValidator控件指定的正则表达式能够验证日期和时间,那么该控件可以验证用户的输入是否为一个日期和时间。效果如图所示。
下面的代码实例RegularExpressionValidator控件revValue验证tbValue控件的内容是否为日期(包含时间部分)。如果该内容不是日期(包含时间部分),则验证失败,并显示提示信息“日期的格式为2007-01-01 00:00:00。”。另外,该示例还使用了RequiredFieldValidator验证控件rfValue验证了tbValue控件的内容不能为空。如果该内容为空,则rfValue控件显示提示信息“输入不能为空!”。
其中,正则表达式^/d{4}(?<connectchar>[-/. ])((1[0-2])|(0?/d))/k<connectchar>(([12]/d)|(3[01])|(0?/d)) (([0-1]/d)|(2[0-3]))(:[0-5]/d){2}$用来验证输入的内容是否为日期(包含时间部分)。该表达式的说明如下:
/d{4}验证4位的年字符串。
(?<connectchar>[-/. ])验证年月日之间的连接字符,并保存为名称为“connectchar”的分组。
(1[0-2])|(0?/d)验证1或2位的月字符串。
/k<connectchar>后向引用年月之间的连接字符。
([12]/d)|(3[01])|(0?/d)验证1或2位的日字符串。
([0-1]/d)|(2[0-3])验证时间部分的小时字符串。
(:[0-5]/d){2}验证时间部分的分钟部分和秒部分,并包含连接字符“:”。