侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

JS获取地址栏参数,JS获取URL中的参数,修改URL中指定参数

2024-02-22 星期四 / 0 评论 / 0 点赞 / 30 阅读 / 3339 字

获取: 方法一:采用正则表达式获取地址栏参数: 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~~

广告 广告

评论区