2009-09-01 173 views

回答

9

正则表达式:时间HH:MM验证24小时格式:

([0-1]\d|2[0-3]):([0-5]\d) 

如果您需要秒太:

([0-1]\d|2[0-3]):([0-5]\d)(:([0-5]\d))? 

编辑: 为了防止尾随AM/PM,部分匹配不能被允许,或者你必须把^和$之间的表达式。

^([0-1]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?$ 
+0

什么AM和PM? – 2009-09-01 06:42:02

+1

@Manoj:不是24小时制的时间点,你省略了上午/下午? – 2009-09-01 06:43:47

+0

@Fredrik @ eed3si9n,我认为Manoj可能会说这允许AM/PM,而不应该。它需要锚来避免这种情况。即目前它将匹配23:15 AM – Ash 2009-09-01 07:08:27

4

试试这个

^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$ 

这是24小时时间可选秒。 (Source)

3

有关使用DatePickerDateTimePicker取决于如果你使用WPF或的WinForms怎么办?无论如何,这可能是一个更好的UE。

+0

我读过你的链接,但无法完全理解。我可以使用vb.net的代码示例。我如何在我的vb.net代码中使用它。谢谢! – 2009-09-01 06:43:09

+0

只是谷歌周围。我相信你可以找到一些例子。基本上,我试图做的一点是,如果你真的希望用户输入日期/时间信息,你应该使用其中一个预建日期控件。 – 2009-09-01 07:12:01

1

尝试

^([0-1]?\d|2[0-3])(:[0-5]\d){1,2}$ 
0

我建议你看一看The Regulator下一次当你需要一个正则表达式,它的设计你的表情一个伟大的工具。

1

个人,而不是去验证路线我会用像一个日期选择器,原因如下控制:需要

  • 零验证。事实上,您要做的唯一验证就是业务规则验证,例如订购日期不得迟于今天,等
  • 更容易对用户 - 你不必给我们说说这个时候用户键以24小时格式
+0

http://stackoverflow.com/questions/1360801/net-regular-expression-for-time-24-hr-format/1360842#1360842 – 2009-09-01 07:12:39