博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
url查询参数解析
阅读量:5076 次
发布时间:2019-06-12

本文共 2136 字,大约阅读时间需要 7 分钟。

url查询参数解析

1.获取url的各部分值

举例http://i.cnblogs.com/EditPosts.aspx?opt=11、window.location.href(设置或获取整个 URL 为字符串)var test = window.location.href;alert(test);返回:http://i.cnblogs.com/EditPosts.aspx?opt=12、window.location.protocol(设置或获取 URL 的协议部分)var test = window.location.protocol;alert(test);返回:http:3、window.location.host(设置或获取 URL 的主机部分)var test = window.location.host;alert(test);返回:i.cnblogs.com4、window.location.port(设置或获取与 URL 关联的端口号码)var test = window.location.port;alert(test);返回:空字符(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符)5、window.location.pathname(设置或获取与 URL 的路径部分(就是文件地址))var test = window.location.pathname;alert(test);返回:/EditPosts.aspx6、window.location.search(设置或获取 href 属性中跟在问号后面的部分)var test = window.location.search;alert(test);返回:?opt=1PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。7、window.location.hash(设置或获取 href 属性中在井号“#”后面的分段)var test = window.location.hash;alert(test);返回:空字符(因为url中没有)

2.将url查询参数通过正则表达式解析成数据字典

function getQueryObject(url) {        url = url == null ? window.location.href : url;        var search = url.substring(url.lastIndexOf("?") + 1);        var obj = {};        var reg = /([^?&=]+)=([^?&=]*)/g;        // [^?&=]+表示:除了?、&、=之外的一到多个字符        // [^?&=]*表示:除了?、&、=之外的0到多个字符(任意多个)        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;    }    console.log(getQueryObject('https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=12306%E7%81%AB%E8%BD%A6%E7%A5%A8%E7%BD%91%E4%B8%8A%E8%AE%A2%E7%A5%A8%E5%AE%98%E7%BD%91'));    // Object {tn: "monline_3_dg", ie: "utf-8", wd: "12306火车票网上订票官网"}

3.将url查询参数手动解析成数据字典

function getQueryStringArgs(url){        url = url == null ? window.location.href : url;        var qs = url.substring(url.lastIndexOf("?") + 1);        var args = {};        var items = qs.length > 0 ? qs.split('&') : [];        var item = null;        var name = null;        var value = null;        for(var i=0; i

 

转载于:https://www.cnblogs.com/s313139232/p/9626088.html

你可能感兴趣的文章
Generate BKS File( Bouncy Castle KeyStore)
查看>>
obdg反汇编破解crackme
查看>>
Python作业1 登录程序
查看>>
js弹出模态与非模态页面
查看>>
第四讲 深入介绍信号与槽
查看>>
MARS安卓笔记
查看>>
centos安装——usb安装技术问题整理
查看>>
C#二维码与条形码的生成
查看>>
【leetcode】Container With Most Water
查看>>
如何熟悉一个项目?
查看>>
用户类热门排行榜特效
查看>>
Java基础学习,一些零散的笔记之Java的包
查看>>
Android工作学习第5天之TabHost实现菜单栏底部显示
查看>>
[WPF系列]-基础系列 Property Trigger, DataTrigger & EventTrigger
查看>>
java基础
查看>>
MS-MPI 的使用
查看>>
第18章 大浏览量系统的静态化结构设计
查看>>
关于雅虎中国关闭邮箱服务
查看>>
关于对称加密和解密
查看>>
下拉搜索的小白demo
查看>>