思路
前端开发没有像后端那样直接获取网址参数的方法,如$_GET这样的方法。
1 | <?php echo $_GET [ "hu6cc" ]; ?> |
前端获取url参数比较复杂,需要用到js+正则表达式,去读取、分隔网址来达到获取参数的方法。
获取网址参数方法
这是一个完整的js获取url参数的方法
1 2 3 4 5 6 | //获取url中的参数 function getUrlParam(name) { var reg = new RegExp( "(^|&)" + name + "=([^&]*)(&|$)" ); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null ) return unescape(r[2]); return null ; //返回参数值 } |
通过这个函数传递url中的参数名就可以获取到参数的值,比如:
1 | http://www.che0.com/?url=hu6.cc |
我们要获取reurl的值,可以这样写:
1 | var url = getUrlParam('url'); |
下面是一段以jquery库编写的获取url参数的方法,比原生JS要简单明了点。
1 2 3 4 5 6 7 | ( function ($) { $.getUrlParam = function (name) { var reg = new RegExp( "(^|&)" + name + "=([^&]*)(&|$)" ); var r = window.location.search.substr(1).match(reg); if (r != null ) return unescape(r[2]); return null ; } })(jQuery); |
为jquery扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了:
1 | var url = getUrlParam( 'url' ); |
两种方法都可以直接复制使用,jquery方法需要引用jquery库。