H5案例分享:js获取url参数

2017-09-01 H5案例分享 H5案例分享

js获取url参数

   这一期我们来分享一个小知识点:使用js获取url参数值。这次我们主要来讲一下其中最常用的两种方式:正则表达式法和split拆分法。

 

  • 一、正则表达式法

function getQueryString(name)

{

    var url = window.location.search;

    var reg = new RegExp('(^|&)'+ name +'=([^&]*)(&|$)','i');

    var r = url.substr(1).match(reg);

    if (r != null) return decodeURI(r[2]); return null;

}

 

// 调用方法

console.log(getQueryString ('参数名1'));

console.log(getQueryString ('参数名2'));

console.log(getQueryString ('参数名3'));

 

   其中正则表达式是var reg = new RegExp('(^|&)'+ name +'=([^&]*)(&|$)','i');这句代码的意思是:以&开始或直接以name开始,以&结束或直接结束,name的值是由0到多个不是&的字符组成,'i'是忽略大小写。

 

  • 二、split拆分法

function getRequest() {  

   var url = location.search; //获取url中"?"符后的字串  

   var theRequest = new Object();  

   if (url.indexOf("?") != -1) {  

      var str = url.substr(1);  

      strs = str.split("&");  

      for(var i = 0; i < strs.length; i ++) {  

         theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);  

      }  

   }  

   return theRequest;  

}

var Request = new Object();

Request = getRequest();

 

// 调用方法

var 参数1,参数2,参数3,参数N;

参数1 = Request['参数1'];

参数2 = Request['参数2'];

参数3 = Request['参数3'];

参数N = Request['参数N'];

 

三、说明

   小编在网上看到很多这方面的demo基本上都是用unescape() 函数来获得的参数的,这时会出现当参数是中文时获取到的参数值是乱码。

 

   出现这种问题是解决办法是先用encodeURI() 函数把URI 进行编码,调用获取到参数值后,在用decodeURI() 函数对获取的参数值解码。

 

   实际上ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之,所以我这里采用的是decodeURI(),即使参数值是中文也能正常显示。

 


以上为“H5案例分享”团队原创文章,转载请注明出处!

标签

分享:
海报
案列链接
下载截图
收藏案例
已收藏
分享到微信朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。

相关推荐:

H5案例分享:CSS3 reflect倒影

H5案例分享:CSS3 Filter滤镜效果二

关注微信号:h5-share,获取更多创意H5案例分享!也可访问H5案例分享网站www.h5anli.com,搜索查阅~

阅读原文

微信扫一扫
关注该公众号

收藏

微信极速登录/注册

对汉语支持不错,别对小五说英文

微信公众号

提交案例

请pc端输入网址

"h5anli.com"

下载截图压缩包~

标签已提交成功

小编正在审核

请等待一下下啦

哎呀

标签已存在

换个新的呗~