我有以下网址可供使用:
...登录资讯?RETURNURL =%2F%2Fprint?newdata =%test1234
我需要更换第二个(最后一个)吗? '通过&符号
请帮助..
答案 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];
使用slice
,split
和join
即可实现这一目标。或使用一些正则表达式。
答案 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(/\?(?=[^\?]*$)/, '&');