Javascript 在不同条件下,替换stings[url参数]之间的值
我想根据某些条件修改url值 (1) 如果我的当前url是Javascript 在不同条件下,替换stings[url参数]之间的值,javascript,jquery,Javascript,Jquery,我想根据某些条件修改url值 (1) 如果我的当前url是http://example.com 然后,我必须向url添加?order=new,为此,我编写了以下代码,它正在工作 var url=window.location.href; url=url+"order=new"; var url=window.location.href; if(url.indexOf("class=") >= 0){ url=url+"&order=new";
http://example.com
然后,我必须向url添加?order=new,为此,我编写了以下代码,它正在工作
var url=window.location.href;
url=url+"order=new";
var url=window.location.href;
if(url.indexOf("class=") >= 0){
url=url+"&order=new";
}
var url=window.location.href;
if (url.indexOf("order=") >=0){
url= url.split("order=")[0]+"order=date";
}
(2) 如果我的当前url是http://example.com/?class=1
然后,我必须将&order=new添加到url中。为此,我编写了以下代码,它正在工作
var url=window.location.href;
url=url+"order=new";
var url=window.location.href;
if(url.indexOf("class=") >= 0){
url=url+"&order=new";
}
var url=window.location.href;
if (url.indexOf("order=") >=0){
url= url.split("order=")[0]+"order=date";
}
(3) 如果我的当前url是http://example.com/?class=1&order=new
然后我必须将&order=date添加到url中,为此,我编写了以下代码,它正在工作
var url=window.location.href;
url=url+"order=new";
var url=window.location.href;
if(url.indexOf("class=") >= 0){
url=url+"&order=new";
}
var url=window.location.href;
if (url.indexOf("order=") >=0){
url= url.split("order=")[0]+"order=date";
}
(4) 如果我当前的url是http://example.com/?class=anyvalue&div=anyvalue&order=anyvalue
或http://example.com/?class=anyvalue&order=anyvalue&div=anyvalue
。这里如何替换订单值
即
请支持就我所能说的而言,我认为您希望:
var url = 'http://example.com/?class=anyvalue&order=anything&div=anyvalue';
if (url.indexOf("order=") >= 0 && url.indexOf('div=') >= 0){
newUrl = url.replace('order=anything', 'order=456');
}
使用replace()
函数。将url
更改为您正在使用的内容。使用
现在可以搜索URL的参数了
var order = urlObj.searchParams.get("order");
if ( !order )
{
//url += url.contains( "?" ) ? "&order=new" : "?order=new";
//contains didnt work so used includes instead
url += url.includes( "?" ) ? "&order=new" : "?order=new";
}
同样,您也可以替换值
var order = urlObj.searchParams.get("order");
if ( order )
{
urlObj.searchParams.set("order", "123");
}
console.log( urlObj.href );
更新:
已将JSFIDLE添加到您的解决方案:)。。。
用什么替换订单?如果您想添加
order=new
和order=date
?一个键只能有一个值!你需要更改我知道的密钥的名称。现在我只想添加order=new,但这里的问题是anyvalue是随机值或随机文本。例如,你明白我的意思吗?@abilasher上述解决方案是好的和可靠的。我的方法最简单。让我在那里加溶液。酷。快乐编码。对于其他用户,这不是上述解决方案:)。帮他弄明白你很好。谢谢你的帮助。这是因为我的问题不清楚,这就是问题产生的原因。不,因为我困惑。你能看看bipen解决方案和我为该解决方案写的评论吗?这是一个很好的解决方案。我不知道新URL()
对象+1.@gurvinder372添加了小提琴link@abilasher检查控制台的输出。将set()
中的字符串替换为urlObj.searchParams.set(“order”,“123”)之后需要的任何字符串;如何将此url保存到变量?