2013-02-08 55 views
12

想要了解HTML 5(HH:MM)中24小時時間格式的可能正則表達式。24小時時間HTML 5的正則表達式

如果可能的話,請你告訴可以在HTML 5

的模式屬性可以使用正則表達式的時間預計將在24小時格式(HH不超過23)。

親切的問候,

回答

14

我認爲這是一個可行的方法:

<input type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" id="24h"/> 
<input type="text" pattern="([01]?[0-9]{1}|2[0-3]{1}):[0-5]{1}[0-9]{1}" id="24h"/> 

http://www.mkyong.com/regular-expressions/how-to-validate-time-in-24-hours-format-with-regular-expression/

([01]?[0-9]|2[0-3]):[0-5][0-9] 

看看這個的jsfiddle:example

+0

謝謝..早些時候看到它,但沒有工作..可能是缺少一個括號.. :)。謝謝你.. – 2013-02-08 12:10:29

+1

@AbdulAli檢查我的意見出 – 2013-02-08 12:11:09

+0

以及你可以看到它的作品。 – 2013-02-08 12:13:55

11

下面是代碼:

<input type="text" pattern="[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}" /> 

它允許無效小時值:24,25,26,27,28,29,如果你想成爲額外的正確,你可以這樣做的:

<input type="text" pattern="([0-1]{1}[0-9]{1}|20|21|22|23):[0-5]{1}[0-9]{1}" /> 
+0

如果談論時間,當然我想要額外的正確方法,謝謝,它的工作就像一個魅力! – Daniel 2015-06-30 14:42:19

1

有點短的正則表達式:

(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1} 

所以在完成: 「(:)」

<input type="text" pattern="(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1}" /> 

在第一個非捕獲組(),我們MATC h只有一個數字,不是0,1或2就沒有跟着4-9(負向超前「(?!)」)。然後我再匹配一個數字,因爲它可以是0-9中的任何一個,我們可以用\ d快捷鍵去。然後我們匹配分隔符「:」。然後在0-5之間的一個數字和0-9之間的一個數字(再次用「\ d」)。 如果由於某種原因,您還需要匹配24小時(有時您會這樣做),那麼只需調整負向預測即可。 G。 「(?![5-9])」。

+0

您可以通過刪除「{1}」來縮短它,它根本沒有任何效果。 – 2016-01-08 17:23:47