[英]How to extract query string parameters from URL in JavaScript
我有一個網址
我想獲取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 char
的Group
,直到'&'
號,然后匹配“ geo_location_terms='
,最后創建一個匹配任何數量的Group的正則表達式。 any char
。
您所需的輸出將在Group 1
Group 2
和Group 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.