从URL中删除最后两个参数

时间:2012-03-06 18:21:46

标签: javascript string

我想打破以下网址

  

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

通过消除最后两个参数,即 & cn = bella& cjid = 3344324

  

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

网址的长度可能会发生变化,但最后两个参数仅保留在该位置。那我怎么能以有效的方式删除它。

5 个答案:

答案 0 :(得分:3)

对于这种情况,RegExp是最简单的方法:

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

答案 1 :(得分:1)

您可以使用正则表达式替换。如果网址在var url中,那么你可以使用这个

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

您可以使用

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

您可以使用正则表达式将最后2个参数替换为空字符串:

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

答案 4 :(得分:0)

您可以使用函数IndexOf来查找'& cn'的位置,然后使用子字符串函数创建一个新的字符串,消除URL的'& cn'部分,所以像......

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

strURL = strURL.substring(0,intCharAt)