How can I parse this string on a javascript,
var string = "http://www.facebook.com/photo.php?fbid=322916384419110&set=a.265956512115091.68575.100001022542275&type=1";
I just want to get the "265956512115091" on the string. I somehow parse this string but, still not enough to get what I wanted.
my code:
var newstring = string.match(/set=[^ ]+/)[0];
returns:
a.265956512115091.68575.100001022542275&type=1
-
To properly parse this, you should first dissect it into its parts (e,g, the key-values of the query string), then URL-decode the key and value, and only then extract the data you're interested in from the value with the key you're interested in.Lucero– Lucero2012年01月28日 13:40:31 +00:00Commented Jan 28, 2012 at 13:40
3 Answers 3
try this :
var g=string.match(/set=[a-z]\.([^.]+)/);
g[1] will have the value
Comments
You could use split() to modify your code like this:
var newstring = string.match(/set=[^ ]+/)[0].split(".")[1];
For a more generic approach to parsing query strings see:
Parse query string in JavaScript
Using the example illustrated there, you would do the following:
var newstring = getQueryVariable("set").split(".")[1];
2 Comments
You can use capturing group in the regex.
const str = 'http://www.facebook.com/photo.php?fbid=322916384419110&set=a.265956512115091.68575.100001022542275&type=1';
console.log(/&set=(.*)&/.exec(str)[1]);
Comments
Explore related questions
See similar questions with these tags.