修改url中参数值

1.一种方法function changeUrlArg(url, arg, val){    var pattern = arg+‘=([^&]*)‘;    var replaceText = arg+‘=‘+val;    return url.match(pattern) ? url.replace(eval(‘/(‘+ arg+‘=)([^&]*)/gi‘), replaceText) : (url.match(‘[\?]‘) ? url+‘&‘+replaceText : url+‘?‘+replaceText);}2.麻烦的方法 
function replaceUrlParams(myUrl, newParams) {    var _url = $.urlGet(myUrl);    for (var x in newParams) {        var hasInMyUrlParams = false;        for (var y in _url) {            if (x.toLowerCase() == y.toLowerCase()) {                _url[y] = newParams[x];                hasInMyUrlParams = true;                break;            }        }        if (!hasInMyUrlParams) {            _url[x] = newParams[x];        }    }    var _result = "";    for (var p in _url) {        _result += (p + "=" + _url[p] + "&");    }    if (_result.substr(_result.length - 1) == "&") {        _result = _result.substr(0, _result.length - 1);    }    return  _result;}

(function($){
    $.extend({        urlGet:function(url)        {            var getUrl = url ? url.split("?") : window.location.href.split("?");            var _exportUrl = [];            if(getUrl.length > 1)            {                var params = getUrl[1].split("&");                for(var i=0, paramsLength = params.length; i<paramsLength; i++)                {                    var param = params[i].split("=");                    _exportUrl[param[0]] = param[1];                }            }            return _exportUrl;        }    });})(jQuery);

2种方法 都实现了功能 需求是修改一个值 就跳转 2钟方法 实现效果 不知道怎么样 有机会再测试 

时间: 2024-12-26 18:43:23

修改url中参数值的相关文章

JS获取URL中参数值(QueryString)的4种方法分享

http://www.jb51.net/article/48942.htm JS获取URL中参数值(QueryString)的4种方法分享 作者: 字体:[增加 减小] 类型:转载 今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数.后来想了一下,肯定会有更加简单的方法的!所以在网上找到了几个很又简单实用的方法,mark下. 方法一:正则法 复制代码 代码如下: function getQueryString

三个获取浏览器URL中参数值的方法

这三个是一般的获取浏览器传的参数值的方法,之前有用unescape()解码的方法,但是遇到汉字会产生乱码,所以用decodeURI(); 方法一: function getQueryString(name) { //获取url方法 编辑传来的参数 //之前decodeURI是用的unescape() 有时候会取汉字乱码 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r

AngularJS如何修改URL中的参数

一. 获取url的相关方法(不修改URL): 1.获取当前完整的url路径 var absurl = $location.absUrl(); //http://172.16.0.88:8100/#/homePage?id=10&a=100 2. 获取当前url路径(当前url#后面的内容,包括参数和哈希值): var url = $location.url(); // 结果:/homePage?id=10&a=100 3. 获取当前url的子路径(也就是当前url#后面的内容,不包括参数)

JS获取URL中参数值(QueryString)的4种方法

在某书上看到这道题目,查找解题思路后做了部分解析,如有错误请指正 方法一:正则法 代码如下: function getQueryString(name) {    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); //匹配指定name的QueryString    var r = window.location.search.substr(1).match(reg); //window.location.sea

JS获取URL中参数值(QueryString)

方法一:正则法 function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null; } // 这样调用: alert(GetQueryString(&q

js使用正则表达式从url中获取参数值

//从url中获取参数值 function getvl(name) { var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i"); if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " ")); return ""; };

使用struts2的标签s:if获取url中的参数值,并与字符串常量进行比较

大家都知道,jsp中最好不要写java脚本,稍微复杂一点的逻辑都会让代码十分难看,对于维护来说简直是噩梦.但是我们又不可能完全不在jsp中写java脚本,像<%= request.getContextPath()>这种方式,很方便而且也不会让代码很难看.当jsp中需要有复杂的逻辑判断或者循环的时候,最好使用标签库来提高代码的可维护性,比如标准的JSTL库,还有很常用的struts2标签库. 比如有一个url http://127.0.0.1:8080/demo/test.jsp?id=1 ,我

JS根据key值获取URL中的参数值,以及把URL的参数转换成json对象

//把url的参数部分转化成json对象 parseQueryString: function (url) { var reg_url = /^[^\?]+\?([\w\W]+)$/, reg_para = /([^&=]+)=([\w\W]*?)(&|$|#)/g, arr_url = reg_url.exec(url), ret = {}; if (arr_url && arr_url[1]) { var str_para = arr_url[1], result; w

Js读取url中的参数、修改url的参数

1.读取url的某个参数值: /* *获取URL参数 */ function GetQueryString(name) {     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");     var r = window.location.search.substr(1).match(reg);     if (r != null) {         return unescape