当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子。 分解链接的方式: 复制代码 代码如下: <script type="text/javascript"> <!-- // 说明:Javascript 获取链接(url)参数的方法 function getQueryString(name) { // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空 if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1) { return ''; } // 获取链接中参数部分 var queryString = location.href.substring(location.href.indexOf("?")+1); // 分离参数对 ?key=value&key2=value2 var parameters = queryString.split("&"); var pos, paraName, paraValue; for(var i=0; i<parameters.length; i++) { // 获取等号位置 pos = parameters[i].indexOf('='); if(pos == -1) { continue; } // 获取name 和 value paraName = parameters[i].substring(0, pos); paraValue = parameters[i].substring(pos + 1); // 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格 if(paraName == name) { return unescape(paraValue.replace(/+/g, " ")); } } return ''; }; //http://localhost/test.html?aa=bb&test=cc+dd&ee=ff alert(getQueryString('test')); //--> </script> 用正则匹配的方式: 复制代码 代码如下: <script type="text/javascript"> <!-- function getQueryStringRegExp(name) { var reg = new RegExp("(^|\?|&)"+ name +"=([^&]*)(\s|&|$)", "i"); if (reg.test(location.href)) return unescape(RegExp.$2.replace(/+/g, " ")); return ""; }; //http://localhost/test.html?aa=bb&test=cc+dd&ee=ff alert(getQueryStringRegExp('test')); //--> </script>
推荐阅读
我遇到的参数传递中 双引号单引号嵌套问题
最近学vml::cakepie.innerHTML="<v:shape id='cake"+(i+1)+"'type='#Cake_3D'"+ " style='position:absolute;left:"+(_left + Height / 8)+"px;top:"+(_top + Height / 24)+"px;WIDT>>>详细阅读
本文标题:Javascript 获取链接(url)参数的方法[正则与截取字符串]
地址:http://www.17bianji.com/kaifa2/JS/27098.html
1/2 1