如何在window.location.search中搜索特定文本?

时间:2012-08-26 00:29:40

标签: javascript

我有以下代码,我希望它只在“?”之后的部分显示div包括“gclid =”。请注意,网址可能看起来像xxxxxx.com/?gclid=kljl3j4lk3j4l23

我不太确定如何合并部分字符串搜索,因此它只查找“?gclid”

<script type="text/javascript"> 
      $(function(){
            if (window.location.search == "?gclid") {
        $('#new').show();
  } else {
        $('#new').hide();
  }
});

        </script>

我对此有点新意,原谅我的无知

5 个答案:

答案 0 :(得分:6)

您可以使用indexOf()

if(window.location.search.indexOf("gclid=") > -1)

答案 1 :(得分:1)

if (window.location.search.match(/[?&]gclid=/))

答案 2 :(得分:0)

您可以使用正则表达式或子字符串和文本解析来执行此操作。

var stringPart = window.location.search.substr(0, 6);
if (stringPart == "?gclid") { ...

var re = new RegExp(/^\?gclid/);
if (window.location.search.match(re)) { ...

这两个都应该让你到那儿。

答案 3 :(得分:0)

您可以使用javaScript 拆分来执行此操作

假设你有一个像

这样的网址
  

http://www.website.com/profile?var1=abc&var2=def&var3=ghi

//the url
var path = "http://www.website.com/profile?var1=abc&var2=def&var3=ghi";

//get all url parameters
var parameters = path.split("?")[1]; 

// get the parameters
var para1 = parameters.split("&")[0];
var para2 = parameters.split("&")[1];
var para3 = parameters.split("&")[2];

// get the parameter value
var para1var = para1.split("=")[1];
var para2var = para2.split("=")[1];
var para3var = para3.split("=")[1];

答案 4 :(得分:0)

一个接一个地提取每个参数,工作代码:

http://localhost:10/mapserver1/viewer/?config=viewer_simple1&url=https://maps2.dcgis.dc.gov/dcgis/rest/services/Zoning/MapServer&zoom=17&lat=38.917292&long=-77.036420

您可以这样做:

        var ___zoom;
        var ___lat;
        var ___long;
        var ___basemap;

        var ___type;
        var ___url;
        var ___title;
        var ___opacity;


        /*
         *  if (value) { 
         *     
         *  }
         * 
         * will evaluate to true if value is not:

                null
                undefined
                NaN
                empty string ("")
                false
                0
         * 
         * 
         * 
         */


        if ( location.search.match(/zoom=([^&]*)/i) )
        {
             ___zoom = location.search.match(/zoom=([^&]*)/i)[1];
         }

        if ( location.search.match(/lat=([^&]*)/i) )
        {
           ___lat = location.search.match(/lat=([^&]*)/i)[1];
        }

        if (location.search.match(/long=([^&]*)/i))
        {
            ___long = location.search.match(/long=([^&]*)/i)[1];
        }

        if (location.search.match(/basemap=([^&]*)/i))
        {
            ___basemap = location.search.match(/basemap=([^&]*)/i)[1];
        }

        if (location.search.match(/type=([^&]*)/i))
        {
            ___type = location.search.match(/type=([^&]*)/i)[1];
        }

       if (location.search.match(/url=([^&]*)/i))
        {
            ___url = location.search.match(/url=([^&]*)/i)[1];
        }


        if (location.search.match(/title=([^&]*)/i))
        {
            ___title = location.search.match(/title=([^&]*)/i)[1];
        }

        if (location.search.match(/opacity=([^&]*)/i))
        {
            ___opacity = location.search.match(/opacity=([^&]*)/i)[1];
        }


        //console.log(location.search.match(/zoom=([^&]*)/i)[0]);   //    'zoom=17'
        //console.log(location.search.match(/zoom=([^&]*)/i)[1]);   //     '17'
        console.log(___zoom); 
        console.log(___lat); 
        console.log(___long); 
        console.log(___basemap); 

        console.log(___type); 
        console.log(___url); 
        console.log(___title); 
        console.log(___opacity);