How to check if a query string value is present via JavaScript?

后端 未结 10 1899
眼角桃花
眼角桃花 2021-01-30 00:25

How can I check if the query string contains a q= in it using JavaScript or jQuery?

相关标签:
10条回答
  • 2021-01-30 00:58

    The plain javascript code sample which answers your question literally:

    return location.search.indexOf('q=')>=0;
    

    The plain javascript code sample which attempts to find if the q parameter exists and if it has a value:

    var queryString=location.search;
    var params=queryString.substring(1).split('&');
    for(var i=0; i<params.length; i++){
        var pair=params[i].split('=');
        if(decodeURIComponent(pair[0])=='q' && pair[1])
            return true;
    }
    return false;
    
    0 讨论(0)
  • 2021-01-30 01:01

    Using URL:

    url = new URL(window.location.href);
    
    if (url.searchParams.get('test')) {
    
    }
    

    EDIT: if you're sad about compatibility, I'd highly suggest https://github.com/medialize/URI.js/.

    0 讨论(0)
  • 2021-01-30 01:06

    this function help you to get parameter from URL in JS

    function getQuery(q) {
        return (window.location.search.match(new RegExp('[?&]' + q + '=([^&]+)')) || [, null])[1];
    }
    
    0 讨论(0)
  • 2021-01-30 01:06

    Try this

    //field "search";
    var pattern = /[?&]search=/;
    var URL = location.search;
    
    if(pattern.test(URL))
    {
        alert("Found :)");
    }else{
        alert("Not found!");
    }
    

    JSFiddle: https://jsfiddle.net/codemirror/zj4qyao2/

    0 讨论(0)
  • 2021-01-30 01:15

    In modern browsers, this has become a lot easier, thanks to the URLSearchParams interface. This defines a host of utility methods to work with the query string of a URL.

    Assuming that our URL is https://example.com/?product=shirt&color=blue&newuser&size=m, you can grab the query string using window.location.search:

    const queryString = window.location.search;
    console.log(queryString);
    // ?product=shirt&color=blue&newuser&size=m
    

    You can then parse the query string’s parameters using URLSearchParams:

    const urlParams = new URLSearchParams(queryString);
    

    Then you can call any of its methods on the result.

    For example, URLSearchParams.get() will return the first value associated with the given search parameter:

    const product = urlParams.get('product')
    console.log(product);
    // shirt
    
    const color = urlParams.get('color')
    console.log(color);
    // blue
    
    const newUser = urlParams.get('newuser')
    console.log(newUser);
    // empty string
    

    You can use URLSearchParams.has() to check whether a certain parameter exists:

    console.log(urlParams.has('product'));
    // true
    
    console.log(urlParams.has('paymentmethod'));
    // false
    

    For further reading please click here.

    0 讨论(0)
  • 2021-01-30 01:16
    var field = 'q';
    var url = window.location.href;
    if(url.indexOf('?' + field + '=') != -1)
        return true;
    else if(url.indexOf('&' + field + '=') != -1)
        return true;
    return false
    
    0 讨论(0)
提交回复
热议问题