登录

解析a标签中的链接

最近捣鼓小东西的时候需要用到url中的各个参数,于是到网上到处搜罗如何解析链接中的参数,这不让我搜罗到大神写的一个解析函数,哇嘎嘎。。。。。

使用函数之前,我们先了解下window.location,查看js文档就可以发现,window.location它包含了像protocol,hostname,host,port,search,hash,href,pathname等属性,再深入下,其实我们发现a标签也和window.location一样,也包含了window.location这些属性,所以重要的东西来了

代码如下:

<script type="text/javascript">
function parseURL(url) {
  var a = document.createElement('a');
  a.href = url;
  return {
  source: url,
  protocol: a.protocol.replace(':',''),
  host: a.hostname,
  port: a.port||'80',
  query: a.search,
  params: (function(){
    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('/')
  };
}

console.log(parseURL("http://video.zbpnice.cn/video/player.php?tvid=PLVsaH7lRzbsN3"));
</script>

通过函数解析我们可以得到以下数据

{
    file:"player.php"
    hash:""
    host:"video.zbpnice.cn"
    params:
    tvid:"PLVsaH7lRzbsN3"
    __proto__:Object
    path:"/video/player.php"
    port:"80"
    protocol:"http"
    query:"?tvid=PLVsaH7lRzbsN3"
    relative:"/video/player.php?tvid=PLVsaH7lRzbsN3"
    segments:Array(2)
    0:"video"
    1:"player.php"
    length:2
    __proto__:Array(0)
    source:"http://video.zbpnice.cn/video/player.php?tvid=PLVsaH7lRzbsN3"
}

通过以上函数我们就可以获取到链接中的tvid=后面的数据了(PLVsaH71RzbsN3)

编不下去了。。。。。撤了

选择赏赐方式:

×

多少都是心意,感谢大家

选择分享方式:

×

扫一扫分享到微信朋友圈

标签: 解析参数js

本文标题:解析a标签中的链接

本文地址:https://www.zbpnice.cn/post/170.html

温馨提示:文章内容系作者个人观点,不代表柏平博客对观点赞同或支持。

版权声明: 本文为原创文章,创建于1年前 (2018-06-26),版权归 柏平 所有,欢迎分享本文,转载请保留出处!

评论列表 :共有6人吐槽, 4357人围观

武胜
武胜  1年前 (2018-07-04)  地板回复
写得不错支持一下
柏平
柏平  1年前 (2018-07-04) 1层回复
@武胜 感谢支持 face_24
广安养老院
广安养老院  1年前 (2018-07-04)  板凳回复
文章很好值得一看
柏平
柏平  1年前 (2018-07-04) 1层回复
@广安养老院 感谢支持 face_22
头条新闻
头条新闻  1年前 (2018-06-30)  沙发回复
文章不错非常喜欢
柏平
柏平  1年前 (2018-07-04) 1层回复
@头条新闻 感谢支持 face_02

发表评论: