正则表达式解析URL

function getQueryObject(url) {
    url = url == null ? window.location.href : url;
    var search = url.substring(url.lastIndexOf("?") + 1);
    var obj = {};
    var reg = /([^?&=]+)=([^?&=]*)/g;
    search.replace(reg, function (rs, $1, $2) {
        var name = decodeURIComponent($1);
        var val = decodeURIComponent($2);                
        val = String(val);
        obj[name] = val;
        return rs;
    });
    return obj;
}
请问var reg = /([^?&=]+)=([^?&=]*)/g;是什么意思
阅读 2.6k
1 个回答

[^xyz] 负值字符集合。匹配未包含的任意字符。例如,[^abc]可以匹配“plain”中的“plin”。

clipboard.png

所以匹配的就是等号两侧,例如图片中那样

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题