为了账号安全,请及时绑定邮箱和手机立即绑定

获取请求url的查询字符串

标签:
JQuery

在两个页面间通过url传参的时候,需要获取传递的查询字符串,例如获取下面url的name对应的值:

www.baidu.com/img?name=lili&age=18&school=81school

有两种方法,一是用数组split()为主的拆分,二是用正则表达式的拆分。

1 数组拆分:

function getQueryStringArgs(){    var qs = (location.search.length > 0 ? location.search.substring(1) : "");        args = {},        items = qs.length ? qs.split("&") : [],        item = null,        name = null,        value = null,        i = 0,        len = items.length;    for(i=0; i<len; i++){        item = items.split("=");        name = decodeURIComponent(item[0]);        value = decodeURIComponent(item[1]);        if(name.length){            args[name] = value;        }    }    return args;}

2  正则表达式:

function getQuery(name) {    var reg = new RegExp("(^|&)"+name+"=([^&]*)(&|$)"),      str = window.location.search.substr(1).match(reg);      if(str !== null) {        return unescape(str[2]);    }    return null;}

3 自己写的:(反面案例)

function getQuery(){    var search = location.search.substring(1),        queryArr = search.split('&'),        obj;    for(var i=0, len=queryArr.length; i < len; i++){        var str = queryArr.split('=');        obj[str[0]] = str[1];    }    return obj;}

1是参考js高级程序设计P207页。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消