方法一:采用正则表达式获取地址栏参数 (代码简洁,重点正则)

function getQueryString(name) { let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); let r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); }; return null; } 
  • 调用方法:

let 参数1 = GetQueryString("参数名1"));

方法二:split拆分法 (代码较复杂,较易理解)

function GetRequest() { const url = location.search; //获取url中"?"符后的字串 let theRequest = new Object(); if (url.indexOf("?") != -1) { let str = url.substr(1); strs = str.split("&"); for(let i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); } } return theRequest; } 
  • 调用方法:

let Request = new Object();
Request = GetRequest();
var 参数1,参数2 ...;
参数1 = Request['参数1'];
参数2 = Request['参数2'];
参数... = Request['参数...'];

方法三:split拆分法(易于理解,代码中规)

function getQueryVariable(variable){ let query = window.location.search.substring(1); let vars = query.split("&"); for (let i=0;i<vars.length;i++) { let pair = vars[i].split("="); if(pair[0] == variable){return pair[1];} } return(false); } 
  • 调用方法:

let 参数1 = getQueryVariable("参数名1");

补充URL知识:

示例url = http://www.jianshu.com/search?q=js&page=1&type=note

  • 1、window.location.href(设置或获取整个 URL 为字符串)
    console.log(window.location.href)
    打印结果:http://www.jianshu.com/search?q=123&page=1&type=note
  • 2、window.location.protocol(设置或获取 URL 的协议部分)
    console.log(window.location.protocol)
    打印结果:http:
  • 3、window.location.host(设置或获取 URL 的主机部分)
    console.log(window.location.host)
    打印结果:www.jianshu.com
  • 4、window.location.port(设置或获取与 URL 关联的端口号码)
    console.log(window.location.port)
    打印结果:空字符(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符)
  • 5、window.location.pathname(设置或获取与 URL 的路径部分(就是文件地址))
    console.log(window.location.pathname)
    打印结果:/search
  • 6、window.location.search(设置或获取 href 属性中跟在问号后面的部分)
    console.log(window.location.search)
    打印结果:?q=123&page=1&type=note
    PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。
  • 7、window.location.hash(设置或获取 href 属性中在井号“#”后面的分段)
    console.log(window.location.hash)
    打印结果:空字符(因为url中没有)

以下JS函数用于获取url参数:

function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i<vars.length;i++) { var pair = vars[i].split("="); if(pair[0] == variable){return pair[1];} } return(false); }

使用实例

url 实例:

http://www.runoob.com/index.php?id=1&image=awesome.jpg

调用 getQueryVariable("id") 返回 1。

调用 getQueryVariable("image") 返回 "awesome.jpg"。

转载于:https://www.cnblogs.com/volodya/p/11212847.html

js获取url参数值的几种方式相关推荐

  1. js获取url参数值的方法总结

    js获取url参数值的方法总结 1.方式一:通过字符串截取的方式获取参数值: 2.方式二:通过正则获取到参数值:   1.方式一:通过字符串截取的方式获取参数值: 1).函数一:获取URL中的参数名及 ...

  2. php解析url并得到url中的参数及获取url参数的四种方式

    本文给大家介绍php解析url并得到url中的参数及获取url参数的四种方式,涉及到将字符串参数变为数组,将参数变为字符串的相关知识,本文代码简单易懂,感兴趣的朋友一起看看吧 下面一段代码是php解析 ...

  3. js获取 url 参数值的方法总结

    今天小编碰到一个朋友问这么一个问题,怎么在一个页面中获取另外一个页面url传过来的参数呢?最初一开始很本能的想到了用 split("?"),这样一步步的分解出需要的参数.但是想了一 ...

  4. JS获取JSON字符串的几种方式

    之前有人问了一个问题就是关于js获取json数据value值的几种方式,所以今天把一些比较常见的给总结了一下,希望能帮助到大家 <script>var obj = {id:1,name:' ...

  5. js获取url参数值的方法总结(亲测)

    1.方式一:通过字符串截取的方式获取参数值: 1).函数一:获取URL中的参数名及参数值的集合 /*** [获取URL中的参数名及参数值的集合]* 示例URL:http://htmlJsTest/ge ...

  6. js获取url参数值

    2019独角兽企业重金招聘Python工程师标准>>> 方法一:正则分析法 function getQueryString(name) {    var reg = new RegE ...

  7. 通过原生js获取dom元素的九种方式

    获取dom元素 <body><!-- <div id="box">我是一个DIV</div><p class="item& ...

  8. php获取url传递的参数,php解析url并得到url中的参数及获取url参数的四种方式

    下面一段代码是php解析url并得到url中的参数,代码如下所示:<?php $url = "http://www.baidu.com/index.php?m=content& ...

  9. yy神曲url解析php_php解析url并得到url中的参数及获取url参数的四种方式

    下面一段代码是php解析url并得到url中的参数,代码如下所示: $url = 'http://www.baidu.com/index.php?m=content&c=index&a ...

  10. JS获取URL参数的4种方法总结

    1.字符串 split 方法(推荐) let URL = "http://www.baidu.com?name=张三&age=25&sex=男&wife=小红&quo ...

最新文章

  1. Swift使用iconfont图标
  2. Linux0.11 创建进程的过程分析--fork函数的使用
  3. basename函数使用
  4. 用 Celery 实现邮件推送系统
  5. springboot单元测试通过MockMvc类调用controller接口
  6. CROC-MBTU 2012, Elimination Round (ACM-ICPC) 总结
  7. 一个打印螺旋数的程序
  8. 图像变形功能的应用: 在线修整发型
  9. HDU 6342 Expression in Memories(模拟)多校题解
  10. [转]Java集合类: Set、List、Map、Queue使用场景梳理
  11. php 如何区分0和false,php中怎么区别false与0
  12. 计算机系统_数据表示实验
  13. 做微商的朋友们都想知道代购怎么在闲鱼上引流?
  14. 2018网易校招移动安全工程师笔试题
  15. STM32寄存器编程思路 - 从51到stm32开发入门,真干货
  16. I2C+E2PROM再回顾ing~
  17. SSD中,SATA、m2、PCIE和NVME各有什么意义
  18. 达尔优键盘的上下左右变成了ASDW
  19. 基于LoRa技术实现MESH组网的LoRaMESH技术简介
  20. 尚鼎峰:抖音播放量不够高?如何制作吸睛封面?

热门文章

  1. List集合之LinkedList
  2. python 字符串编码 str和unicode 区别以及相互转化 decode('utf-8') encode('utf-8')
  3. idea 错误: -source 1.6 中不支持 diamond 运算符的解决办法
  4. mybatis13--2级缓存
  5. 你知道哪些苹果自家应用采用 Swift 语言编写吗?
  6. java中的Map每次只能put一次,写段增强的put,可以一次put很多次
  7. B/S、C/S架构与视频对话技术
  8. CAS配置数据库进行用户验证
  9. poj2406(kmp循环节)
  10. SEO搜索引擎优化二十八条经验建议