2009-09-01 88 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