簡體   English   中英

如何從JavaScript中的URL提取查詢字符串參數

[英]How to extract query string parameters from URL in JavaScript

我有一個網址

https://www.yellowpages.com/search?search_terms=Generator+Repair&geo_location_terms=Adamsville%2C+Alabama

我想獲取search_terms (發電機+維修)和geo_location_terms (Adamsville%2C + Alabama)

我該怎么做?

在JavaScript中最簡單,最慣用的方式是使用URL類:

 const url = new URL('https://www.yellowpages.com/search?search_terms=Generator+Repair&geo_location_terms=Adamsville%2C+Alabama') console.log(url.searchParams.get('search_terms')); console.log(url.searchParams.get('geo_location_terms')); 

MDN參考在這里

您可以使用以下Javascript代碼將GET參數存儲到對象中:

<script>
    var URL = "https://www.yellowpages.com/search?search_terms=Generator+Repair&geo_location_terms=Adamsville%2C+Alabama";

    var result = {};
    URL.substring(URL.indexOf("?") + 1).split('&').forEach(function(x){
        var arr = x.split('=');
        arr[1] && (result[arr[0]] = arr[1]);
    });

    console.log(result.search_terms);
    //OUTPUT: "Generator+Repair"
    console.log(result.geo_location_terms);
    //OUTPUT: "Adamsville%2C+Alabama"

</script>

您可以使用以下正則表達式獲取2個值:

/search_terms=(.*)&geo_location_terms=(.*)/

這是一個非常基本的正則表達式,首先匹配“ search_terms= ”,然后創建一個匹配任何數量的any charGroup ,直到'&'號,然后匹配“ geo_location_terms=' ,最后創建一個匹配任何數量的Group的正則表達式。 any char

您所需的輸出將在Group 1 Group 2Group 2

如何使用:

var url = 'https://www.yellowpages.com/search?search_terms=Generator+Repair&geo_location_terms=Adamsville%2C+Alabama';
var regex = /search_terms=(.*)&geo_location_terms=(.*)/;
var match = url.match(regex);

var search_terms = match[1];
var geo_location_terms = match[2];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM