2011-12-29 48 views
2

我需要檢查文本是否包含日期部分。JavaScript中的正則表達式來檢查時間與日期

例如:mytext_12/26/2011_11:51_AM or someText_12/26/2011_13:51_PM有一個日期部分它返回true。

我不太喜歡錶情,所以尋找一個。日期時間部分的格式是固定的。

我得到了一個出路,但失敗的時間。

var containsDate = ~str.search(/\d{1,2}\/\d{1,2}\/\d{4}/); 

它完美地檢查日期部分,但是當我嘗試爲時間部分我搞砸了一些地方。

_\d{1,2}:\d{2}_(?:AM|PM) this is the part for time but i am not able to generate the final regex by combining this two. 
+0

,我學會了這個規則:「不要使用一個你不知道如何使用的工具。「 – 2011-12-29 14:05:34

回答

1

嘗試,

.search(/[0-9]{2}\/[0-9]{2}\/[0-9]{4}_[0-9]{2}:[0-9]{2}_(AM|PM)/) 

一個很好的資源,正則表達式, MDN:Regular Expressions

+0

它不適用於有效的「\t Annual_12/7/2011_3:56_PM」這個字符串,並且對於無效的字符串,您可以檢查這一個「Annual_12/7/2011_234234」。 – ankur 2011-12-29 11:45:34

0

嘗試,

.search(/\d+\/\d+\/\d{4}_\d+:\d+_(AM|PM)/) 
七年級類店