js获取url的 参数,端口,主机,文件名等信息

完整代码如下:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
		<script type="text/javascript">
			var urlParse = parseURL(window.location);
			console.log(urlParse)
			function parseURL(url) {
				var a = document.createElement('a');
				a.href = url;
				return {
					source: url, //来源
					protocol: a.protocol.replace(':', ''), //协议
					host: a.hostname, //主机
					port: a.port, //端口
					query: a.search, //url参数部分
					params: (function() { //url参数部分转换成对象
						var ret = {},
							seg = a.search.replace(/^\?/, '').split('&'),
							len = seg.length,
							i = 0,
							s;
						for (; i < len; i++) {
							if (!seg[i]) {
								continue; 
							}
							s = seg[i].split('=');
							ret[s[0]] = s[1];
						}
						return ret;
					})(),
					file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1], //文件名
					hash: a.hash.replace('#', ''), //
					path: a.pathname.replace(/^([^\/])/, '/$1'),
					relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
					segments: a.pathname.replace(/^\//, '').split('/')
				};
			}
		</script>
	</body>

</html>

发布者

cylyiou

cylyiou

分享前端知识

支付宝扫码打赏微信打赏

如果文章对您有帮助,不妨移至上方按钮小额赞助我一下,让我有动力继续写出高质量的教程。

发表评论

电子邮件地址不会被公开。