Hunt
Hunt

Reputation: 8425

remove last two parameters from URL

i want to break a following url

http://www.example.com?name=john&token=3425kkhh34l4345jjjhjhj&uid=09900434&cn=bella&cjid=3344324

into this by eliminating last two parametes i.e. &cn=bella&cjid=3344324

http://www.example.com?name=john&token=3425kkhh34l4345jjjhjhj&uid=09900434

the length of the url may change but the last two parameters remains in that position only. so how can i remove that in a efficient way.

Upvotes: 0

Views: 260

Answers (5)

zswartz
zswartz

Reputation: 21

You could use the function IndexOf to find the location of the '&cn' and then just use the substring function to create a new string eliminating the '&cn' portion of the URL, so something like...

var intIndexOf = str.IndexOf('&cn=')

strURL = strURL.substring(0,intCharAt)

Upvotes: 0

arc
arc

Reputation: 584

You can use regular expressions to replace the last 2 parameters with the empty string:

var url = "http://www.example.com/?p1=1&p2=2&p3=3&p4=4";
var urlWithoutLast2Parameters = url.replace(/&[^&]+&[^&]+$/,"");

Upvotes: 1

Interrobang
Interrobang

Reputation: 17434

var string = "http://dom.com/?one=1&two=2&three=3&four=4";

string.match(/(.*)&(.*)&(.*)/)[1]; // strips last two parameters

Upvotes: 1

botzko
botzko

Reputation: 630

You can use replace with regular expression. If the url is in var url then you can use this one

var new_url = url.replace(/&cn=.*/, '');

you can test it with

var url = 'http:\www.example.com?name=john&token=3425kkhh34l4345jjjhjhj&uid=09900434&cn=bella&cjid=3344324';
console.info(url.replace(/&cn=.*/, ''));

Upvotes: 1

Rob W
Rob W

Reputation: 348962

A RegExp is the easiest way for this case:

str = str.replace(/&[^&]*&[^&]*$/,'');

Upvotes: 3

Related Questions