2012-06-27 117 views
2

我使用正則表達式^(([0-9])|([0-1][0-9])|([2][0-3])):(([0-9])|([0-5][0-9]))$時間。這是非常好的正則表達式,但是當用戶只想輸入像8或12這樣的小時而沒有冒號和分鐘時,它是不允許的。 任何人都可以建議哪些正則表達式只適用於小時或小時:分鐘。只有幾小時或幾小時和幾分鐘的正則表達式

+0

所以其其他情況下應該是有效的嗎?只輸入小時,不輸入冒號,不輸入分鐘。只輸入分鐘沒有冒號,沒有時間等?如果他們只輸入一個沒有冒號的數字,你怎麼知道它的小時數或分鐘數? –

+0

您可以使用多個正則表達式來處理可能的輸入變化,而不是構建一個巨大的正則表達式。 – millimoose

回答

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

所作的「:毫米」的一部分,將其置於()並添加?量詞可選的。

+0

感謝漢斯,它工作正常 – Sree

1

只是要最後部分可選的,就像這樣:

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

感謝Keppil ... – Sree

相關問題