Charles Yeung
Charles Yeung

Reputation: 38803

Javascript regex value search

After reading the post here, I tried to get the value by regex as below:

var myString = "<a href='/search.html?id=HDJ&area=ASD&estate=JKG&ppt=3'></a>";
var myRegexp = /&estate=(.*?)(?:\s|$)/g;
var match = myRegexp.exec(myString);
match[1]

The result was JKG&propertytype=3'></a>, but I only want JKG. Strictly speaking I want the value between &estate= and &ppt Could someone suggest how to do that?

Thanks

Upvotes: 2

Views: 309

Answers (5)

me_digvijay
me_digvijay

Reputation: 5492

If only the solution is important then you can use the following:

var myString = "<a href='/search.html?id=HDJ&area=ASD&estate=JKG&ppt=3'></a>";
var indx1 = mystring.indexOf("&estate=") + 8;
var indx2 = mystring.indexOf("&ppt");
var neededString = mystring.substring(indx1, indx2);

Upvotes: 1

arttronics
arttronics

Reputation: 9955

jsFiddle

Based on your result value, just split it at the ampersand, no new or alternate regex required.

JavaScript:

var myString = "<a href='/search.html?id=HDJ&area=ASD&estate=JKG&ppt=3'></a>";
var myRegexp = /&estate=(.*?)(?:\s|$)/g;
var match = myRegexp.exec(myString);

var value = match[1].split('&')[0];

alert( value );

Upvotes: 0

Christophe
Christophe

Reputation: 28154

Just exclude ampersands from the selection:

var myRegexp = /&estate=([^&]+)/g;

You might want to change it to this, in case estate is the first parameter:

var myRegexp = /[\?&]estate=([^&]+)/g;

Upvotes: 0

Sudhir Bastakoti
Sudhir Bastakoti

Reputation: 100175

do:

var myString = "<a href='/search.html?id=HDJ&area=ASD&estate=JKG&ppt=3'></a>";
var myRegexp = /estate=(.*)&ppt=/g;
var match = myRegexp.exec(myString);
console.log( match[1] );

Upvotes: 2

Jason McCreary
Jason McCreary

Reputation: 73001

A Regular Expression:

/&estate=(.*?)&ppt=/g

Note: I wouldn't recommend using regular expressions to parse query strings. It's brittle. Consider if the variables in the query string change order. If that can be the case, I recommend reading - Parse query string in JavaScript.

Upvotes: 2

Related Questions