一 获取指定URL参数

function getUrlParams(name) {

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); //定义正则表达式

var r = window.location.search.substr(1).match(reg);

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

return null;

}

window.location = "http://www.baidu.com?name=elephant&age=25&sex=male";

var name = getUrlParams("name"); //elephant

var age = getUrlParams("age"); //25

var sex = getUrlParams("sex");//male

首先理解定义的正则表达式,(^|&)意思是从头开始匹配字符&, =([^&]*)意思是匹配=后面零个或多个不是&的字符,直至碰到第一个&为止,(&|$)意思就是匹配最后一个&,在正则表达式中,增加一个()代表着匹配数组中增加一个值, 因此代码中的正则匹配后数组中应包含4个值, 在getUrlParams("name")函数中,此时 r 获取到的数组应该是 ["name=elephant&", "", "elephant", "&"]

代码中 window.location.search 意思是取window.location中 '?'后面的值包括'?',因此所得到的值是"?name=elephant&age=25&sex=male"

substr()这个函数的作用是截取字符串,在代码中window.location.search.surstr(1) 意思就是截取第一个字符后面的字符串,所得到的值即是"name=elephant&age=25&sex=male"

unescape这个函数的作用是解码escape编码后的字符串

二 获取所有的URL参数

function parse_url(_url){ //定义函数

var pattern = /(\w+)=(\w+)/ig;//定义正则表达式

var parames = {};//定义数组

url.replace(pattern, function(a, b, c){

parames[b] =c;

});

return parames;//返回这个数组.

}

var url = "http://www.baidu.com?name=elephant&age=25&sex=male"

var params = parse_url(url);// ["name=elephant", "age=25", "sex=male"]

当replace匹配到name=elephant时.那么就用执行function(a,b,c);其中a的值为:name=elephant,b的值为name,c的值为elephant;(这是反向引用.因为在定义正则表达式的时候有两个子匹配.),然后将数组的key为name的值赋为elephant;然后完成.

再继续匹配到age=25;此时执行function(a,b,c);其中a的值为:age=25,b的值为age,c的值为25;然后将数组的key为id的值赋为25.

java正则获取url参数_正则获取URL参数相关推荐

  1. 字符串url获取参数_如何从URL查询字符串获取示例参数或将其附加到URL查询字符串(示例)?...

    字符串url获取参数 让我们剖析几个简单的用例,并查看视图参数的工作原理(视图参数名称不是强制性的,以匹配通过URL查询字符串传递的请求参数,但在本文中,我们将重点讨论这种情况): 情况1 在inde ...

  2. js正则限制字符串长度_正则笔记(3)万字长文,慎点。

    正则讲了很久,也拖了很久,今天看看怎么用吧,后续更文应该会比较准勤快了.:-) 书接上文[正则笔记(2)].这次我们来看看正则的使用: (注:斜体表示为对应规则写出的正则表达式) 一. 常用的正则表达 ...

  3. f12获取网页文本_怎么获取网页源代码中的文件?

    展开全部 易语言如何取网页源码: 1.首先,运行"易语言"主程序,弹出"新建工程32313133353236313431303231363533e4b893e5b19e3 ...

  4. 贝叶斯优化神经网络参数_贝叶斯超参数优化:神经网络,TensorFlow,相预测示例

    贝叶斯优化神经网络参数 The purpose of this work is to optimize the neural network model hyper-parameters to est ...

  5. vue如何使浏览器url固定_关于前端url加密方式总结 (Vue-cli中使用)

    下边是url加密和解密方法 /** * url参数加密 * 传入json格式的串 * @param {*Object} query */ const EncryUrl = query => { ...

  6. gridsearchcv参数_随机森林算法参数解释及调优

    本文将详细解释随机森林类的参数含义,并基于该类讲解参数择优的过程. 随机森林类库包含了RandomForestClassifer类,回归类是RandomForestRegressor类.RF的变种Ex ...

  7. wlansetprofile 倒数第二个参数_西部世界 | 脚本参数的演变

    作者:Todd Weller Cross I.T. 高级数据系统架构师 Todd Weller 是位于美国宾夕法尼亚州格林维尔的 FileMaker 商业联盟白金合作伙伴 Cross I.T. 的高级 ...

  8. java获取url文件格式_本地文件/url获取文件类型

    package com.cjw.baidu.ocr; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringU ...

  9. java获取vm运行参数_如何获取在Java中运行Java VM的版本?

    java获取vm运行参数 To get the version of running VM (Virtual Machine) in Java, we use the getProperties() ...

最新文章

  1. 点点看   只有想不到没有看不到
  2. Serializable And Parcelable
  3. 网络工程:2.1.ARP协议与PC间通信
  4. Linux下不同命令的区别与联系(cat和vi/vim和nano)
  5. c盘java文件误删_java获取C盘下的隐藏目录文件名称
  6. pythonwebui自动化_python+selenium实现web端UI自动化测试
  7. linux eclipse安装、新建并运行java程序
  8. 【javascript】js实现复制、粘贴
  9. 前端从入门到精通(记录自己的前端学习之路)都是一些自己做的笔记
  10. android学习资料_知乎上的高能Android学习资源来了,屏幕适配,性能优化,热修复NDk...
  11. deepin linux mac主题,deepin,安装GNOME桌面环境,类mac界面美化
  12. Pigx官方文档地址
  13. SHOPEX网店系统测试 旗下50万家网站的安全另人担忧
  14. 老男孩python14期全套-老男孩python14期
  15. 创建简单vue项目 / Webpack创建vue项目
  16. python dwg文件 读取_如何使用Python打开DWG文件扩展名?
  17. 求逆矩阵的c语言程序,求逆矩阵——C语言
  18. 数据分析中的缺失值处理
  19. Android项目开发总结
  20. 林语堂:《醒觉·对人生的态度》

热门文章

  1. 计算机没有外审的核心期刊,论文外审没有意见怎么回事
  2. 矩阵乘法 x 图的邻接矩阵
  3. Netapp存储FTP功能配置
  4. 微信小程序自驾游拼团+后台管理系统SSM-JAVA【数据库设计、论文、源码、开题报告】
  5. cmd命令窗口无法使用快捷键处理方法
  6. Android 阿里云推送,针对安卓8.0、9.0以上系统收不到推送 的补丁文档
  7. 导入博客等渠道文章到公众号并进行格式布局-详细教程
  8. CocoaPods是什么?
  9. 浅谈社交电商产品设计的10个深刻的知识
  10. Goahead嵌入式linux移植资料整理