function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i"); var r = window.location.search.substr(1).match(reg); if (r!=null) return (decodeURIComponent(r[2])); return null; } alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert(GetQueryString("参数名3"));
以上已经做了参数编码。
1.window.location.search
含义:获取的是url中包含?的字符串
例子:url为:http://localhost:8080/JsonTest/index.jsp?a=1&b=2
window.location.search是?a=1&b=2
2.正则表达式解析
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
含义:以上表达式有三个子匹配项,忽略大小写,以name开头或者以&符号开始的,
等号后不出现&符号的任意字符,之后或者跟&符号。
3.match
此处情况:
为什么是r[2]返回呢,就是因为这是match返回的数组,第0个是匹配的文本,第1个是第一个子匹配项,第2个是第二个子匹配项
例子:http://localhost:8080/JsonTest/index.jsp?a=1&b=2
js调用: GetQueryString("a");
在GetQueryString方法中,r如下:
定义和用法
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
语法
stringObject.match(searchvalue) stringObject.match(regexp)
searchvalue | 必需。规定要检索的字符串值。 |
regexp | 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。 |
返回值
存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
说明
match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。
如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用。
如果 regexp 具有标志 g,则 match() 方法将执行全局检索,找到 stringObject 中的所有匹配子字符串。若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是 stringObject 中所有的匹配子串,而且也没有 index 属性或 input 属性。
注意:在全局检索模式下,match() 即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。如果您需要这些全局检索的信息,可以使用 RegExp.exec()。
实例
例子 1
在本例中,我们将在 "Hello world!" 中进行不同的检索:
<script type="text/javascript"> var str="Hello world!" document.write(str.match("world") + "<br />") document.write(str.match("World") + "<br />") document.write(str.match("worlld") + "<br />") document.write(str.match("world!")) </script>
输出:
world null null world!
例子 2
在本例中,我们将使用全局匹配的正则表达式来检索字符串中的所有数字:
<script type="text/javascript">
var str="1 plus 2 equal 3"
document.write(str.match(/\d+/g)
)
</script>
输出:
1,2,3
其他参数获取介绍:
alert(window.location.pathname);
例子:http://localhost:8080/JsonTest/index.jsp?a=1&b=2
//设置或获取整个 URL 为字符串。
alert(window.location.href);
//设置或获取与 URL 关联的端口号码。
alert(window.location.port);
//设置或获取 URL 的协议部分。
alert(window.location.protocol);
//设置或获取 href 属性中在井号“#”后面的分段。
alert(window.location.hash);
//设置或获取 location 或 URL 的 hostname 和 port 号码。
alert(window.location.host);
//设置或获取 href 属性中跟在问号后面的部分。
alert(window.location.search);
相关推荐
js获取url参数,html跳转后获取url传递的参数
封装了跟后台接口沟通的ajax,还有一个获取url传递get参数的两个公共函数,自己用来跟C#后台接口沟通的前端封装类,有类似需求的可以看看
1.传递参数: 代码如下: var pmt = ‘sensor=’+ encodeURI(encodeURI(sensor))+’&device=’+encodeURI(encodeURI(device))+’&instrument=’; pmt += encodeURI(encodeURI(instrument))+’&n=’+n+’&addDate=’+...
在页面的url中使用encodeURI(encodeURI(中文)),对中文... 您可能感兴趣的文章:js将json格式的对象拼接成复杂的url参数方法js的form表单提交url传参数(包含+等特殊字符)的两种解决方法JS根据key值获取URL中的参数值及
不废话了,直接贴代码了,通过示例一讲解JS根据key值获取URL中的参数值及把URL的参数转换成json对象,示例二讲解js获取url传递参数,具体内容请看下文 示例一: //把url的参数部分转化成json对象 ...
mid=100的方式传递参数更灵活,你不需要设置路由,只需要在url后拼接参数即可,但是这种方式就需要通过javascript获取并提取url中的参数,通过传统的方式直接在页面中获取是行不通的了,因为vue中是无法通过location...
主要介绍了php获取URL中带#号等特殊符号参数的解决方法,本文使用JS中的escape函数编码后传递解决这个问题,需要的朋友可以参考下
js获取url参数值: index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&…… 静态html文件js读取url参数 根据获取html的参数值控制html页面输出 一、字符串分割分析法 这里是一个获取URL带QUESTRING参数的...
最近网站改版,发现网站的广告都是直接网址,如果转向一下,对于本站的全职会好点 需要一个html页面来传递参数所以用到个js获取url参数的代码,就一个funciton 参考...代码如下:[removed] //js获取url参数的...
一:navigator 跳转url传递参数 (此图片来源于网络,如有侵权,请联系删除! ) 使用方法说明 (1)传值:在navigator的属性url后拼接?id(参数名字)=要传递的值 (如果多个参数用&分开 &name=value&…….) (2)取值:...
获取参数 下一步就是获取url里的参数值,因为ClickOnce应用程序没有HttpContext,所以就不能使用Request.QueryString方法获取参数。 然而可以从发布的上下文获取参数。下面的程序可以返回一个类型为...
本文实例讲述了JS获取url参数、主域名的方法。分享给大家供大家参考,具体如下: [removed] alert(location.hostname) alert(location.port) alert(location.pathname) alert(location...
下面小编就为大家带来一篇浅谈在js传递参数中含加号(+)的处理方式。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
第一种:字符串拆分法 ...//获取地址栏里(URL)传递的参数 function GetRequest(value) { //url例子:www.bicycle.com?id="123456"&Name="bicycle"; var url = decodeURI(location.search); //?id="123456"&N
3 、传递参数的时候直接替换转义,或者直接写转义后的代码 data = “a + b”; data = data.replace(/\+/g, “+”); data = data.replace(/\&/g, “&”) ; 或者: data = “a + b”; data = “a & ...
在项目中遇到这也一个问题...第一个问题,我们可以利用html页面锚点的特性,将参数通过url传递给b页面 这是a页面代码: <button>跳转设置</button> [removed] var btn = document.querySelector('button
在项目中遇到这也一个问题: ...第一个问题,我们可以利用html页面锚点的特性,将参数通过url传递给b页面 这是a页面代码: <button>跳转设置</button> [removed] var btn = document.querySelector('b
javascript通过url向jsp页面传递中文参数乱码,一直都是从事jsp开发者比较烦心的是,于是本文介绍了一些解决方法,感兴趣的朋友可以了解下
主要介绍了url中传递中文参数的时候通过js解码,需要的朋友可以参考下
js的纯前台处理时会遇到将一个网页的参数,通过get方式,传递给下一个页面的问题. 此时可以使用js的方式得到当前页面的url中的get参数. 核心语句是: [removed].href 详细代码不解释了,有注释,你看了就懂.封装成jQuery...