我想打破以下网址
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
网址的长度可能会发生变化,但最后两个参数仅保留在该位置。那我怎么能以有效的方式删除它。
答案 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)