获取: 方法一:采用正则表达式获取地址栏参数: function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^
获取:
方法一:采用正则表达式获取地址栏参数:
function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return decodeURI(r[2]); return null; //decodeURI()是将encodeURI转换的字符转换回来}
实用举例:
<a href="javascript:openWin('http://www.123.com/zfb_zhifu?money=100&name='+ encodeURI('实名认证'),'实名认证')"> 点击这里实名认证</a>
可知URL:http://www.123.com/zfb_zhifu?money=100&name=实名认证
在该页面获取money值和name值时,可调用函数GetQueryString(name)
var url_money = GetQueryString(money);var url_name = GetQueryString(name);console.log(url_money);//100console.log(url_name);//实名认证
--------------------------------------分割线------------------------------------
方法二:传统方法
function UrlSearch(){ var name,value; var str=location.href; //取得整个地址栏 var num=str.indexOf("?") str=str.substr(num+1); //取得所有参数 stringvar.substr(start [, length ] var arr=str.split("&"); //各个参数放到数组里 for(var i=0;i < arr.length;i++){ num=arr[i].indexOf("="); if(num>0){ name=arr[i].substring(0,num); value=arr[i].substr(num+1); this[name]=value; } }}
实用举例:
<a href="javascript:openWin('http://www.123.com/zfb_zhifu?money=100&name='+ encodeURI('实名认证'),'实名认证')"> 点击这里实名认证</a>
var my_url = new UrlSearch();//实例化console.log(my_url.money);//100console.log(decodeURI(my_url.name));//实名认证
参考网站:http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html
修改:
/* * url 目标url * arg 需要替换的参数名称 * arg_val 替换后的参数的值 * return url 参数替换后的url */ function changeURLArg(url,arg,arg_val){ var pattern=arg+'=([^&]*)'; var replaceText=arg+'='+arg_val; if(url.match(pattern)){ var tmp='/('+ arg+'=)([^&]*)/gi'; tmp=url.replace(eval(tmp),replaceText); return tmp; }else{ if(url.match('[/?]')){ return url+'&'+replaceText; }else{ return url+'?'+replaceText; } } return url+'/n'+arg+'/n'+arg_val; }
使用:
changeURLArg('http://www.daimajiayuan.com/test.php?class_id=3&id=2','class_id',4);
修改结果:
http://www.daimajiayuan.com/test.php?class_id=4&id=2
参考网站:http://www.daimajiayuan.com/sitejs-17226-1.html
本文内容均亲自测试使用过,请放心使用。如有问题,欢迎跟帖讨论,我会及时回复消息哒O(∩_∩)O~~