第一种超级省事的方法就是利用正则
方法如下:
- // 获取 get 传值的方法
- function getQueryString(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
- var r = Windows.location.search.substr(1).match(reg);
- if (r != null) return decodeURI(r[2]);
- return null;
- }
使用方法, 比如想获取 get 传值里面的 "age" 的值
alert(getQueryString("age"));
直接调用方法, 将需要的值传入, 直接方法返回值
第二种就是处理字符串, get 传值是在地址栏传值, 所以, 直接获取到地址, 然后做字符串处理就好
方法如下:
- function getValue(url){
- // 首先获取地址
- var url = url || Windows.location.href;
- // 获取传值
- var arr = url.split("?");
- // 判断是否有传值
- if(arr.length == 1){
- return null;
- }
- // 获取 get 传值的个数
- var value_arr = arr[1].split("&");
- // 循环生成返回的对象
- var obj = {};
- for(var i = 0; i < value_arr.length; i++){
- var key_val = value_arr[i].split("=");
- obj[key_val[0]]=key_val[1];
- }
- return obj;
- }
里面可以传入地址, 如果不传入的话, 就是页面的地址
获取方式
console.log(getValue());
直接返回的是一个对象, 按对象的方式获取即可
例子: 获取 get 传值的 name 的值
console.log(getValue().name);
来源: http://www.bubuko.com/infodetail-3199969.html