удалить два последних параметра из URL - PullRequest
0 голосов
/ 06 марта 2012

я хочу разбить следующий URL

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

длина URL может измениться, но два последних параметра останутся только в этой позиции.так, как я могу удалить это эффективным способом.

Ответы [ 5 ]

3 голосов
/ 06 марта 2012

RegExp - самый простой способ для этого случая:

str = str.replace(/&[^&]*&[^&]*$/,'');
1 голос
/ 06 марта 2012

Вы можете использовать регулярные выражения, чтобы заменить последние 2 параметра пустой строкой:

var url = "http://www.example.com/?p1=1&p2=2&p3=3&p4=4";
var urlWithoutLast2Parameters = url.replace(/&[^&]+&[^&]+$/,"");
1 голос
/ 06 марта 2012
var string = "http://dom.com/?one=1&two=2&three=3&four=4";

string.match(/(.*)&(.*)&(.*)/)[1]; // strips last two parameters
1 голос
/ 06 марта 2012

Вы можете использовать заменить регулярным выражением. Если URL-адрес находится в 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=.*/, ''));
0 голосов
/ 06 марта 2012

Вы можете использовать функцию IndexOf, чтобы найти местоположение '& cn', а затем просто использовать функцию substring, чтобы создать новую строку, исключающую часть '& cn' в URL, так что-то вроде ...

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

strURL = strURL.substring (0, intCharAt)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...