解析a标签中的链接

2018-11-02 16:06:14  阅读 1342 次 评论 0 条

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

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

代码如下:

JavaScript
<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.yangguangdream.co/video/player.php?tvid=PLVsaH7lRzbsN3"));</script>

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

JavaScript
{
    file:"player.php"
    hash:""
    host:"video.yangguangdream.com"
    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.yangguangdream.com/video/player.php?tvid=PLVsaH7lRzbsN3"}

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

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



微信扫码查看本文
本文地址:https://www.yangguangdream.com/?id=1999
版权声明:本文为原创文章,版权归 编辑君 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?