利用JavaScript获取url中的参数是一个很常用的程序,也是前端面试常有的面试题.实现这个程序的方法有很多种,通常采用正则匹配或者字符串截取的方法.
正则匹配是一个比较好的方法,不过对于不会正则的前端初学者不太适合.这里采用转化为对象的方法.代码如下:
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Web前端面试题 Js把URL中的参数解析为一个对象</title>
<body>
<script type="text/javascript">
var url = "http://www.baidu.com?key1=1&key2=2&key0=0";
function parseQueryString(url) {
var str=url.split("?")[1], //通过"?"得到一个数组,取?后面的参数
items=str.split("&"); //通过"&"分割成数组
var arr,name,value;
for(var i=0;i<items.length;i++){
arr=items[i].split("="); //通过"="分割出每个参数的key和value
name=arr[0];
value=arr[1];
this[name]=value;
}
}
var obj=new parseQueryString(url);
alert(obj.key2)
</script>
</body>
</html>
这个方法理解容易,而且使用方便,也不用担心参数的顺序.
查看原文https://blog.noob6.com/2018/06/04/the-way-to-get-query-in-url/