如何使用jquery替换url中的第二个特定字符

时间:2013-12-20 14:25:12

标签: javascript jquery

我有以下网址可供使用:

...登录资讯?RETURNURL =%2F%2Fprint?newdata =%test1234

我需要更换第二个(最后一个)吗? '通过&符号

请帮助..

5 个答案:

答案 0 :(得分:3)

你可以;

url = url.replace(/\?([^\?]*)$/g, '&$1')

答案 1 :(得分:2)

var url = 'your url';

//GET INDEX OF FIRST "?" CHARACTER
var index = url.indexOf("?");

//FIRST PART OF URL (BEFORE AND INCLUDING THE FIRST "?" CHARACTER)
var first_part = url.substring(0,(index+1));

//SECOND PART OF STRING (AFTER AND EXCLUDING THE FIRST "?" CHARACTER)
var second_part = url.substring((index+1), url.length);

//SECOND PART REPLACE "?" WITH "&"
var second_part_replace = second_part.replace("?","&");

//YOUR FINAL URL
var new_string = first_part+""+second_part_replace;

答案 2 :(得分:1)

var count = 0; 
str.replace(/\?/g, function () { return count++ == 0 ? '?' : '&'; });

答案 3 :(得分:0)

var parts = url.split('?');
url = parts.slice(0, parts.length - 2).join('?') +'&'+parts[parts.length - 1];

使用slicesplitjoin即可实现这一目标。或使用一些正则表达式。

答案 4 :(得分:0)

试试这个(针对第二个):

var url = 'login?returnUrl=%2F%2Fprint?newdata=%test1234';
var index = url.indexOf('?', url.indexOf('?') + 1);
if (index !== -1) url = url.slice(0, index) + '&' + url.slice(index + 1);

或者这个(针对最后一个):

var url = 'login?returnUrl=%2F%2Fprint?newdata=%test1234';
url = url.replace(/\?(?=[^\?]*$)/, '&');