简介

运用js的时候,我们有时可能会有这样的需求,就是想要获取浏览器地址栏指定的一项参数,形如:https://i.cnblogs.com/EditPosts.aspx?postid=8628413&update=1,

你想要获取postid的内容8628413,或者update的内容1那么下面就提供解决办法。

解决办法

其实解决办法也挺简单,只要通过一个函数就可以处理掉

//当前url地址栏 file:///C:/Users/admin/Desktop/test.html?id=2
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
console.log(window.location.search)//?id=2
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
console.log(GetQueryString('id'))//

上面函数的用法很简单,只要把你想要的url参数传进去就可以拿到返回值,注意参数为字符串

发散思维

上面的函数是直接解决了获取当前页面url中的参数,有事我们可能不是想要处理url,而是想要获取特定字符串中的参数,形如:postid=8628413&update=1

然后你想要获取postid的对应的值那么要怎么做呢?

只需要理解下上面函数的原理就很好改写了

     function GetQueryString(str,name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
//str = postid=8628413&update=1
//其实str 就相当于 window.location.search.substr(1)
var r = str.match(reg);
if (r != null) return unescape(r[2]);
return null;
}
console.log(GetQueryString('postid=8628413&update=1','postid'))

获取url路径中的参数的更多相关文章

  1. CSS样式表、JS脚本加载顺序与SpringMVC在URL路径中传参数与SpringMVC 拦截器

    CSS样式表和JS脚本加载顺序 Css样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变 JS脚本尽可能放在<body> ...

  2. 使用JavaScript获取url(request)中的参数

    这次是使用JavaScript来获取url(request)中的参数 在日常页面编写的过程中为了方便操作在<script>中通过使用window.location.href="要 ...

  3. js获取url(request)中的参数

    index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&...... 静态html文件js读取url参数,根据获取html的参数值控制htm ...

  4. JS动态获取项目名以及获取URL地址中的参数

    在项目当中我们可能会遇到例如改变的项目名称之后,相对应的地址就需要改变,为了减少工作量,将地址当中的项目名这一块写成动态获取的,那么最关键一点就是我要先获取它,再进行操作: 知识点整理,话不多说,直接 ...

  5. 对url路径中的参数进行加密--Java

    需求: 后台对一些比较敏感的参数进行数据加密,然后在传送到前端.当前端跳转到后台时,再由后台对其进行解密. 参考 针对url参数的加密解密算法(java版) 修改:对中间的js页面加密代码改写为jav ...

  6. js获取URL地址栏中的参数

    function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)( ...

  7. js获取url地址中的参数

    <script type="text/javascript"> function GetQueryString(name) { var reg = new RegExp ...

  8. 获取URL路径参数getUrlParams

    function getUrlParams(){ var reg = new RegExp("(^|&)" + name + "=([^&]*)(& ...

  9. JS分页 + 获取MVC地址栏URL路径的最后参数

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

随机推荐

  1. c++并发编程实战 笔记

    http://blog.csdn.net/u010087886/article/category/5884745

  2. php trim() 函数实例讲解

    php trim() 函数移除字符串两侧的空白字符或其他预定义字符,本文章向码农介绍php trim() 函数的使用方法和实例,感兴趣的码农可以参考一下. 定义和用法 trim() 函数移除字符串两侧 ...

  3. 基于Linux的Samba开源共享解决方案测试(二)

    单NAS网关50Mb码率视音频文件的稳定读测试结果如下: 50Mb/s负载性能记录 NAS网关资源占用 稳定读 稳定读 CPU空闲 内存空闲 网卡占用 13个稳定流 96.70% 10G 104MB/ ...

  4. python拓展2 collections模块与string模块

    知识内容 1.collections模块介绍 2.collections模块使用 3.string模块介绍及使用 一.collections模块介绍 collections模块中提供了很多python ...

  5. javascript日期相减,求时间差

    //计算时间差 var from_date = new Date(from_time); var end_date = new Date(end_time); var time_different = ...

  6. selenium+python自动化95-弹出框死活定位不到

    前言 部分小伙伴学了selenium的alert后,就不管啥弹出框都去用alert,这是行不通的,看到弹出框,先要确定是不是alert,是才能用,不是的话肯定不能用. 有些弹出框是div层,这种跟平常 ...

  7. Centos7修改profile错误导致命令行不能用,情况的解救方案,dir命令不能用

    Linux修改profile文件改错了,恢复的方法 Linux修改profile文件改错了,恢复的方法在改profile的时候,改出问题了,除了cd以外的命令基本都不能用了,连vi都不能用了,上网查了 ...

  8. placeholder测试

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. Genymotion——VirtualBox cannot start virtual device

    提示"VirtualBox cannot start virtual device" 打开VirtualBox,想要在里面直接启动Genymotion模拟器,又出现错误,提示“Un ...

  10. SQL SERVER2008 DBX Error: Driver could not be properly initialized

    raised exception class TDBXError with message 'DBX Error:  Driver could not be properly initialized. ...