JS正则匹配url

有可能有时候我们会用到在百度搜什么关键词进来我们的网站的,所有我们又想拿到用户搜索的关键词。

这是我研究了半天所得出的办法。话不多说直接贴代码

<script>
    function queryString(parm,parm2){
      var url1 = parm2;
      //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
      //如果要检索的字符串值没有出现,则该方法返回 -1。
      var begin = url1.indexOf("&"+parm+"=")+parm.length+2;
      if(begin == -1) return '';

      url2 = url1.slice(begin);
      var end = url2.indexOf("&");
      if(end == -1){
        return url2.slice(0);
      }else{
        return url2.slice(0,end);
      }
    }

    $line='<span>测试</span>';
    if(document.referrer){
      // 获取上级页面
      var url = document.referrer;
      // 判断是不是百度的域名
      if(url.match("www.baidu.com")) {
        // 第一个参数是百度的get参数wd拼接的关键词
        var mywords = queryString("wd",url);
        if(mywords != '') $line='<span>'+decodeURI(mywords)+'</span>';
        // 判断是不是百度手机端
      }else if(url.match("m.baidu.com")){
        var mywords = queryString("word",url);
        if(mywords != '') $line='<span>'+decodeURI(mywords)+'</span>';
      }
    }

    $('#huanw').html($line);
  </script>
        if(url.match(/(wap\.sogou\.com)|(3g\.sogou\.com)|(m\.sogou\.com)/)) {
                var mywords = queryString("keyword",url);
                if(mywords != '') $line='<i></i>'+decodeURI(mywords);
            }

可以多域名判断

猜你喜欢

转载自www.cnblogs.com/lcxin/p/10935294.html