通过js获取Url的参数值
通过js获取Url的参数值我们知道在C#中获取Url的参数值,可以通过 Request.QueryString["参数名称"],或者 Request["参数名称"] 获取到,但js中没有这样的方法,不过,我们可以在js中通过正则表达式获取,或者通过js的split方法分离得到参数数组,然后再循环比较获取其指定的参数值。下面讲解一下这两种方式:
方法一:正则分析法
function getQueryString(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; } //调用方法: alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert(GetQueryString("参数名3"));
方法二:JS split 分隔成数组,循环匹配
<script language="javascript"> function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); } } return theRequest; } </script> //调用方法: <script language="javascript"> var Request = new Object(); Request = GetRequest(); var 参数1,参数2,参数3,参数N; 参数1 = Request['参数1']; 参数2 = Request['参数2']; 参数3 = Request['参数3']; 参数N = Request['参数N']; </script>