2010-02-03 46 views
0

我得到的值爲字符串,如/Date(1)//Date(-99999)/。數字是可變長度。JavaScript正則表達式幫助

豈不正則表達式僅僅是這樣的:^/Date\(d+\)/$

+0

你的正則表達式的目的是提取時間戳,或只是爲了測試如果字符串配襯的格局? – CMS 2010-02-03 21:05:02

回答

3

不,你的正則表達式中缺少的數字(\d)前面的可選的負。您還需要轉義/,因爲這些也是正則表達式的分隔符。試試這個正則表達式:

^/Date\(-?\d+\)/$ 
於RegExp構造函數中

或者:

new RegExp("^/Date\\(-?\\d+\\)/$") 

或者正如字面:

/^\/Date\(-?\d+\)\/$ 
0

不太。你不允許使用連字符的可能性,而你的斜槓有點過分。

/^Date\(-?\d+\)$/ 
0

看來,你所得到的ASP .NET序列化JSON日期值,斜線被包含在弦上,捕捉你可以簡單地搭配可選的減號和任何數字字符序列的時間戳:

var date = "\/Date(1240718400000)\/"; 
var timeStamp = date.match(/-?\d+/)[0]; // 1240718400000; 

或者更嚴格的一個:

var timeStamp = date.match(/\/Date\((-?\d+)\)\//)[1];