2012-01-28 47 views
5

我怎樣才能解析上一個javascript這個字符串,解析字符串中的JavaScript

var string = "http://www.facebook.com/photo.php?fbid=322916384419110&set=a.265956512115091.68575.100001022542275&type=1";

我只是想獲得「」的字符串。我以某種方式解析這個字符串,但仍然不足以得到我想要的。

我的代碼:

var newstring = string.match(/set=[^ ]+/)[0]; 

回報:

a.265956512115091.68575.100001022542275&type=1 
+0

要正確地解析這個,你應該先仔細研究其加入部分(E,G,查詢字符串的鍵值),則URL解碼鍵和值,只有然後使用您感興趣的密鑰從值中提取您感興趣的數據。 – Lucero 2012-01-28 13:40:31

回答

5
try this : 

    var g=string.match(/set=[a-z]\.([^.]+)/); 

g[1] will have the value 

http://jsbin.com/anuhog/edit#source

+0

紐約,想要這個。謝謝! – 2012-01-28 13:39:07

3

你可以使用split()修改這樣的代碼:

var newstring = string.match(/set=[^ ]+/)[0].split(".")[1]; 

對於一個更通用的方法來分析查詢字符串見:

Parse query string in JavaScript

使用所示那裏例如,可以執行以下操作:

變種newstring = getQueryVariable( 「設置」)分割( 「」)[1];

+0

爲什麼不使用組? – 2012-01-28 13:33:12

+0

Tnx。有效! – 2012-01-28 13:38:39

+0

我的第一本能也是修改了正則表達式,但我認爲更一般的解析查詢字符串的概念很有幫助。 Braveyard的回答答案(與上文相關)基於split(),我只是以實物形式結轉。 – biscuit314 2012-01-28 13:39:56