您好,欢迎访问一九零五行业门户网

JavaScript重定向URL参数的两种方法小结

这篇文章主要介绍的是javascript重定向url参数的两种方法,下面话不多说,直接看示例代码。
一、字符拼接形式
function seturi(para, val) { var strnewurl = new string(); var strurl = new string(); var url = window.location.href; strurl = window.location.href; if (strurl.indexof("?") != -1) { strurl = strurl.substr(strurl.indexof("?") + 1); //获取参数 if (strurl.tolowercase().indexof(para.tolowercase()) == -1) { //如果没有找到参数,则直接赋值 strnewurl = url + "&" + para + "=" + val; window.location.href = strnewurl; } else { var aparam = strurl.split("&"); for (var i = 0; i < aparam.length; i++) { if (aparam[i].substr(0, aparam[i].indexof("=")).tolowercase() == para.tolowercase()) { aparam[i] = aparam[i].substr(0, aparam[i].indexof("=")) + "=" + val; } } strnewurl = url.substr(0, url.indexof("?") + 1) + aparam.join("&"); window.location.href = strnewurl; } } else { strurl += "?" + para + "=" + val; window.location.href = strurl; } }
二、利用正则
//使用正则 function setpara(para, val) { var newpar = ""; var url = window.location.href; var pars = location.search.substring(1); var reg = new regexp("(^|)" + para + "=([^&]*)(|$)"); if (reg.test(pars)) { //有需要的参数para var p1 = pars.split(para)[0]; //productid=100857&count=1& var p2 = pars.split(para)[1]; //=75825&coupval=1.5&addressid=358&invoiceid=1245&invoicename=jesse if (p2.indexof("&") > -1) { var p3 = p2.split("&")[0]; if (p3 == "=" + val + "") { return false; } newpar = p1 + para + '=' + val + '&' + (p2.split(p3))[1]; } else { if (p1) { newpar = p1 + para + '=' + val; } else { newpar = para + '=' + val; } } } else { if (url.indexof("?") == -1) { newpar = pars +"&"+ para + "=" + val; } else { newpar = pars + "&" + para + "=" + val; } } window.location.href = location.href.split('?')[0] + "?" + newpar; }
调用:
<script> window.onload = function () { var btn = document.getelementbyid("btnclick"); btn.onclick = function () { // url地址:http://localhost:54714/testuri.aspx?productid=100857&count=1&coupresid=12785&coupval=1.5&openid=12456&addressid=358&invoiceid=&invoicename=   //seturi("coupresid", 0); setpara("coupresid", 0); } } </script> <input type="button" id="btnclick" value="重定义参数" />
相关文章:
有关php页面重定向的三种方法
php重定向与伪静态区别
给网站外链进行重定向跳转
其它类似信息

推荐信息