java正则获取url参数_正则获取URL参数
一 获取指定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参数相关推荐
- 字符串url获取参数_如何从URL查询字符串获取示例参数或将其附加到URL查询字符串(示例)?...
字符串url获取参数 让我们剖析几个简单的用例,并查看视图参数的工作原理(视图参数名称不是强制性的,以匹配通过URL查询字符串传递的请求参数,但在本文中,我们将重点讨论这种情况): 情况1 在inde ...
- js正则限制字符串长度_正则笔记(3)万字长文,慎点。
正则讲了很久,也拖了很久,今天看看怎么用吧,后续更文应该会比较准勤快了.:-) 书接上文[正则笔记(2)].这次我们来看看正则的使用: (注:斜体表示为对应规则写出的正则表达式) 一. 常用的正则表达 ...
- f12获取网页文本_怎么获取网页源代码中的文件?
展开全部 易语言如何取网页源码: 1.首先,运行"易语言"主程序,弹出"新建工程32313133353236313431303231363533e4b893e5b19e3 ...
- 贝叶斯优化神经网络参数_贝叶斯超参数优化:神经网络,TensorFlow,相预测示例
贝叶斯优化神经网络参数 The purpose of this work is to optimize the neural network model hyper-parameters to est ...
- vue如何使浏览器url固定_关于前端url加密方式总结 (Vue-cli中使用)
下边是url加密和解密方法 /** * url参数加密 * 传入json格式的串 * @param {*Object} query */ const EncryUrl = query => { ...
- gridsearchcv参数_随机森林算法参数解释及调优
本文将详细解释随机森林类的参数含义,并基于该类讲解参数择优的过程. 随机森林类库包含了RandomForestClassifer类,回归类是RandomForestRegressor类.RF的变种Ex ...
- wlansetprofile 倒数第二个参数_西部世界 | 脚本参数的演变
作者:Todd Weller Cross I.T. 高级数据系统架构师 Todd Weller 是位于美国宾夕法尼亚州格林维尔的 FileMaker 商业联盟白金合作伙伴 Cross I.T. 的高级 ...
- java获取url文件格式_本地文件/url获取文件类型
package com.cjw.baidu.ocr; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringU ...
- java获取vm运行参数_如何获取在Java中运行Java VM的版本?
java获取vm运行参数 To get the version of running VM (Virtual Machine) in Java, we use the getProperties() ...
最新文章
- 点点看 只有想不到没有看不到
- Serializable And Parcelable
- 网络工程:2.1.ARP协议与PC间通信
- Linux下不同命令的区别与联系(cat和vi/vim和nano)
- c盘java文件误删_java获取C盘下的隐藏目录文件名称
- pythonwebui自动化_python+selenium实现web端UI自动化测试
- linux eclipse安装、新建并运行java程序
- 【javascript】js实现复制、粘贴
- 前端从入门到精通(记录自己的前端学习之路)都是一些自己做的笔记
- android学习资料_知乎上的高能Android学习资源来了,屏幕适配,性能优化,热修复NDk...
- deepin linux mac主题,deepin,安装GNOME桌面环境,类mac界面美化
- Pigx官方文档地址
- SHOPEX网店系统测试 旗下50万家网站的安全另人担忧
- 老男孩python14期全套-老男孩python14期
- 创建简单vue项目 / Webpack创建vue项目
- python dwg文件 读取_如何使用Python打开DWG文件扩展名?
- 求逆矩阵的c语言程序,求逆矩阵——C语言
- 数据分析中的缺失值处理
- Android项目开发总结
- 林语堂:《醒觉·对人生的态度》