JS获取URL的参数

Posted cencenyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS获取URL的参数相关的知识,希望对你有一定的参考价值。

用JS来获取地址栏(URL)里面的参数

首先,我们要先获取地址栏里的内容。这里就要用到location对象。

  location最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关的信息。并且还将URL解析为独立的片段,我们可以通过不同的属性来访问这些片段。

location属性:  例如:https://wwww.maidp.com/index.html?value=12&name="jack"&id=5#imhere

属性名 说明 举例
protocol 返回页面所使用的协议  常为http或https "https:"
hostname 返回服务器名称(不带端口号) "www.maidq.com"
port 返回端口号(如果使用默认端口80则返回空字符串,否则返回端口号) ""
host 返回服务器名称和端口号 "www.maidq.com"
search 返回URL中的参数 "?value=12&name="jack"&id=5"
href 返回当前加载页面的完整的URL。location对象的toString()方法也返回这个值 "https://wwww.maidp.com/index.html?value=12&name="jack"&id=5#imhere"
pathname 返回URL中的目录、文件名,路径部分 "/fisker/post/0703/window.location.html"
hash 返回URL中的hash(#号后跟0个或多个字符),如果URL中不包含散列,则返回空字符串 "#imhere"

下来咱们就来实现用原生JS获取地址栏里面的参数吧。

方法一:

function getURLParm(){
    var parm = location.href;//获取当前页面的URL
    var parm_result = new Object;//用于存储参数
    var start = parm.indexOf("?") != -1 ? parm.indexOf("?")+1 : parm.length;//判断是否有参数
    var end = parm.indexOf("#") != -1 ? parm.indexOf("#")-parm.indexOf("?") : parm.length;//判断参数内容结束的地方
    parm = parm.substring(start,end);//将参数部分截取出来
    parm_array = parm.split("&");//将每个参数依次存入数组
    for(var i = 0;i < parm_array.length;i++)
    {
        parm_result[parm_array[i].split("=")[0]] = parm_array[i].split("=")[1];//遍历数组,将参数值赋给相应的参数名
    }
    return parm_result;
}
console.log(getURLParm());

 


以上是关于JS获取URL的参数的主要内容,如果未能解决你的问题,请参考以下文章

求教js获取url参数

怎么用js来加密url的传递参数

js获取url参数值的两种方式

js获取url地址里的数据

js获取url参数 如何改变当前页面内某个图片的地址?

有没有开源方法能直接获取url的参数值