2012-01-28 49 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