我现在有一个正则已经可以只允许两种格式的日期输入了; “2000 6 27 11:38:05”或者 “2000 6 27”表达式为:^\d{4} (0?[1-9]|1[0-2]) (0?[1-9]|[12]\d|3[12])( (0?\d|1\d|2[0-4]):(0?\d|[1-5]\d):(0?\d|[1-5]\d))?$现在只要一个不但可以允许“2000 6 27 11:38:05”或者“2000 6 27”这样的,还想要同时可以允许“2000-6-27 11:38:05”或者“2000-6-27”(就是中间加个'-'),也就是说想同时允许这四种日期格式,能做到吗?只要给正确答案,我经过验证,马上给全部分数。谢谢。
解决方案 »
- textbox 的 backcolor绑定
- 如何在PAGE_LOAD里面添加<TR>一行数据到TABLE的指定位置?
- ASP.NET AJAX一个令人很郁闷的问题(DIV SCROLL)~在线等高手~~
- 为何程序发布到服务器session就取不到值了?
- 关于css中控制某个控件的属性问题
- 基于Cookie状态的安全机制的使用问题
- 用datagrid能实现竖排吗?如果不能是用datalist吗?怎么用啊,急死啦!
- 拒绝了对对象 'xp_cmdshell' (数据库 'mssqlsystemresource',架构 'sys')的 EXECUTE 权限
- ASP.NET里面如何实现动态SQL功能
- 怎样对两个网页间传递汉字字符串?
- 怎么用gridview自定义删除,而不用那AutoGenerateDeleteButton选项????
- 菜鸟问题:页面基类里如何写css式样?
/// 检验字符串是否是有效的日期(含闰年验证)
/// Returns:true有效的日期 false不有效的日期
/// </summary>
/// <param name = "p_str"> 需要检验的字符串 </param>
/// <returns> true有效的日期 false不有效的日期 </returns>
public static bool IsDate(string p_str)
{
Regex objReg = 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-))$");
return objReg.IsMatch(p_str);
}
2006-11-30 11 : 29 : 59
2006-11-30 09 : 59 : 59
2005-11-31 N
2006-11-29
2006-12-31 Y
2006-2-20
2006-12-32 N
2006-2-2
2006-02-2
2000-2-28
2000-2-29
1999-2-28
1999-2-29 N
2006/02/3
2006-2-3
2000-3-31
1996-02-2
2006.02.3
2006/12/14
2006.12.14
2006_12_14
20061214
2006/02/2
2006-02-13
2005/3/3
2006-03-31
2000-2-29 Y
2000-1-31
2006-2-29 N