JS获取URL参数方法

(1)正则方法

function GetQueryString(name){
     var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
     var r = window.location.search.substr(1).match(reg);
     if(r!=null)  return  unescape(r[2]);
     return null;
}
 //调用方法
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

reg正则表达式表示寻找匹配 ‘&参数名=参数值&’ 的内容,两边的&都可以没有。

  1. (^|&)表示开始可以有一个&也可以没有。如下的URL获取参数name的值则匹配到的内容为name=zhangsan;获取参数id的值匹配内容为 &id=123&。
  2. ([^&]*)表示0个或多个非&字符,即为捕获到的参数值 r[2]。
  3. (&|$)表示结尾可以有一个&也可以没有。如下的URL获取参数sex的值则匹配到的内容为&sex=man;获取name的值则匹配到的内容为name=zhangsan&。
    三个括号表示分组,r[2]位第二个括号捕获到的内容,即为参数值。

举例

有URL为:index.html?name=zhangsan&id=123&sex=man

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,951评论 0 15
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,554评论 0 17
  • # 一度蜜v3.0协议 --- # 交互协议 [TOC] ## 协议说明 ### 请求参数 下表列出了v3.0版协...
    c5e350bc5b40阅读 672评论 0 0
  • 李一十八阅读 536评论 0 1