복붙노트

[JQUERY] 쿼리 문자열 매개 변수 가져 오기 jQuery / JavaScript (queryString)가있는 URL 값

JQUERY

쿼리 문자열 매개 변수 가져 오기 jQuery / JavaScript (queryString)가있는 URL 값

해결법


  1. 1.수년간의 못생긴 문자열 구문 분석 후 더 나은 방법이 있습니다. UrlsearchParams이 새 API를 사용하여 위치에서 값을 얻을 수있는 방법을 살펴 보겠습니다!

    수년간의 못생긴 문자열 구문 분석 후 더 나은 방법이 있습니다. UrlsearchParams이 새 API를 사용하여 위치에서 값을 얻을 수있는 방법을 살펴 보겠습니다!

    var urlParams = new URLSearchParams(window.location.search);
    console.log(urlParams.has('post')); // true
    console.log(urlParams.get('action')); // "edit"
    console.log(urlParams.getAll('action')); // ["edit"]
    console.log(urlParams.toString()); // "?post=1234&action=edit"
    console.log(urlParams.append('active', '1')); // "?
    
    post=1234&action=edit&active=1"
    

    URLSearchParams 대신 아래 답변 에서이 기능을 사용하십시오.

    $.urlParam = function (name) {
        var results = new RegExp('[\?&]' + name + '=([^&#]*)')
                          .exec(window.location.search);
    
        return (results !== null) ? results[1] || 0 : false;
    }
    
    console.log($.urlParam('action')); //edit
    

  2. 2.jQuery를 확장하는 이유는 무엇입니까? jQuery vs를 확장하는 이점은 전 세계적인 기능을 가지고 있습니까?

    jQuery를 확장하는 이유는 무엇입니까? jQuery vs를 확장하는 이점은 전 세계적인 기능을 가지고 있습니까?

    function qs(key) {
        key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx meta chars
        var match = location.search.match(new RegExp("[?&]"+key+"=([^&]+)(&|$)"));
        return match && decodeURIComponent(match[1].replace(/\+/g, " "));
    }
    

    http://jsfiddle.net/gilly3/sgxcL/

    다른 접근법은 전체 쿼리 문자열을 구문 분석하고 나중에 사용할 수 있도록 객체에 값을 저장하는 것입니다. 이 방법은 정규 표현식을 요구하지 않으며 윈도우.Location 객체를 확장하지만 전역 변수를 쉽게 사용할 수 있습니다.

    location.queryString = {};
    location.search.substr(1).split("&").forEach(function (pair) {
        if (pair === "") return;
        var parts = pair.split("=");
        location.queryString[parts[0]] = parts[1] &&
            decodeURIComponent(parts[1].replace(/\+/g, " "));
    });
    

    http://jsfiddle.net/gilly3/YnCeu/

    이 버전은 또한 array.foreach ()를 사용하여 IE7 및 IE8에서 기본적으로 사용할 수 없게됩니다. MDN에서 구현을 사용하여 추가 할 수 있거나 대신 jQuery의 $ .each ()를 사용할 수 있습니다.


  3. 3.jQuery JQuery-URL-Parser 플러그인은 동일한 작업을 수행합니다. 예를 들어 검색 쿼리 문자열 매개 변수의 값을 검색하면 사용할 수 있습니다.

    jQuery JQuery-URL-Parser 플러그인은 동일한 작업을 수행합니다. 예를 들어 검색 쿼리 문자열 매개 변수의 값을 검색하면 사용할 수 있습니다.

    $.url().param('search');
    


  4. 4.SitePoint에서 친구들 로부터이 보석을 발견했습니다. https://www.sitepoint.com/url-parameters-jquery/.

    SitePoint에서 친구들 로부터이 보석을 발견했습니다. https://www.sitepoint.com/url-parameters-jquery/.

    순수한 jQuery를 사용합니다. 나는 이것을 사용했고 그것은 일했습니다. 예를 들어 조금 조금 조정했습니다.

    //URL is http://www.example.com/mypage?ref=registration&email=bobo@example.com
    
    $.urlParam = function (name) {
        var results = new RegExp('[\?&]' + name + '=([^&#]*)')
                          .exec(window.location.search);
    
        return (results !== null) ? results[1] || 0 : false;
    }
    
    console.log($.urlParam('ref')); //registration
    console.log($.urlParam('email')); //bobo@example.com
    

    당신이 할 것입니다.


  5. 5.이것은 코드 샘플이 아니지만 과거에 그것을 사용했습니다.

    이것은 코드 샘플이 아니지만 과거에 그것을 사용했습니다.

    //First Add this to extend jQuery
    
        $.extend({
          getUrlVars: function(){
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for(var i = 0; i < hashes.length; i++)
            {
              hash = hashes[i].split('=');
              vars.push(hash[0]);
              vars[hash[0]] = hash[1];
            }
            return vars;
          },
          getUrlVar: function(name){
            return $.getUrlVars()[name];
          }
        });
    
        //Second call with this:
        // Get object of URL parameters
        var allVars = $.getUrlVars();
    
        // Getting URL var by its name
        var byName = $.getUrlVar('name');
    

  6. 6.나는 쿼리 매개 변수의 이름을 구문 분석 해야하는 작은 함수를 썼다. 그래서 :? project = 12 & mode = 200 & date = 2013-05-27을 사용하고 '모드'매개 변수만이 기능으로 '모드'이름을 구문 분석해야합니다.

    나는 쿼리 매개 변수의 이름을 구문 분석 해야하는 작은 함수를 썼다. 그래서 :? project = 12 & mode = 200 & date = 2013-05-27을 사용하고 '모드'매개 변수만이 기능으로 '모드'이름을 구문 분석해야합니다.

    function getParameterByName( name ){
        var regexS = "[\\?&]"+name+"=([^&#]*)", 
      regex = new RegExp( regexS ),
      results = regex.exec( window.location.search );
      if( results == null ){
        return "";
      } else{
        return decodeURIComponent(results[1].replace(/\+/g, " "));
      }
    }
    
    // example caller:
    var result =  getParameterByName('Mode');
    

  7. 7.@Rob Neild의 답변을 구축하면 디코딩 된 쿼리 문자열 매개 변수 (% 20 's 등)의 간단한 객체를 반환하는 순수한 JS 적응이 있습니다.

    @Rob Neild의 답변을 구축하면 디코딩 된 쿼리 문자열 매개 변수 (% 20 's 등)의 간단한 객체를 반환하는 순수한 JS 적응이 있습니다.

    function parseQueryString () {
      var parsedParameters = {},
        uriParameters = location.search.substr(1).split('&');
    
      for (var i = 0; i < uriParameters.length; i++) {
        var parameter = uriParameters[i].split('=');
        parsedParameters[parameter[0]] = decodeURIComponent(parameter[1]);
      }
    
      return parsedParameters;
    }
    

  8. 8.바닐라 자바 ​​스크립트로 작성되었습니다

    바닐라 자바 ​​스크립트로 작성되었습니다

         //Get URL
         var loc = window.location.href;
         console.log(loc);
         var index = loc.indexOf("?");
         console.log(loc.substr(index+1));
         var splitted = loc.substr(index+1).split('&');
         console.log(splitted);
         var paramObj = [];
         for(var i=0;i<splitted.length;i++){
             var params = splitted[i].split('=');
             var key = params[0];
             var value = params[1];
             var obj = {
                 [key] : value
             };
             paramObj.push(obj);
             }
        console.log(paramObj);
        //Loop through paramObj to get all the params in query string.
    

  9. 9.

    function parseQueryString(queryString) {
        if (!queryString) {
            return false;
        }
    
        let queries = queryString.split("&"), params = {}, temp;
    
        for (let i = 0, l = queries.length; i < l; i++) {
            temp = queries[i].split('=');
            if (temp[1] !== '') {
                params[temp[0]] = temp[1];
            }
        }
        return params;
    }
    

    나는 이것을 사용한다.

  10. from https://stackoverflow.com/questions/7731778/get-query-string-parameters-url-values-with-jquery-javascript-querystring by cc-by-sa and MIT license