5

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
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. Commented Jan 28, 2012 at 13:40

3 Answers 3

5
try this : 

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

g[1] will have the value

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

Sign up to request clarification or add additional context in comments.

Comments

3

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

My first instinct was to modify the regex too, but I thought the more general notion of parsing a query string was helpful. Braveyard's answer answer (linked above) is based on split() and I just carried forward in kind.
If you want something generic, then by all means do apply proper URL decoding!
0

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.