如何編輯此代碼以處理多個分隔符?目前,它會檢查%7或|relevance并將其洗掉。但它不處理多個分隔符,例如在下面的 2 個 URL 示例中。
https://www.example.com/en-us/search?pq=marketing agriculture|relevance|bestSeller:true
https://www.example.com/en-us/search?pq=marketing agriculture|Crelevance|CbestSeller:true
它應該只從上面的兩個 URL 中抓取單詞:營銷農業。
const params = new URLSearchParams(window.location.search);
if (params.has('pq')) {
const pq = params.get('pq').split('&7').pop().replace('|relevance', '');
console.log(pq);
}
所需輸出:僅從 URL 獲取搜索詞。
uj5u.com熱心網友回復:
您可以使用javascript slice 方法來拆分 URL 并獲取搜索詞。
這適用于任何搜索詞或任何長度。
這是示例:
var str1 = 'https://www.example.com/en-us/search?pq=marketing agriculture|relevance|bestSeller:true';
var str2 = 'https://www.example.com/en-us/search?pq=this is somthing else|Crelevance|CbestSeller:true';
var pattern = /pq=[a-zA-Z 0-9]*/g;
var query1 = str1.match(pattern);
query1 = query1[0].replace('pq=', '').replaceAll(' ', ' ');
console.log(query1);
var query2 = str2.match(pattern);
query2 = query2[0].replace('pq=', '').replaceAll(' ', ' ');
console.log(query2);
對于您的 URL,請執行以下操作:(您可能需要根據需要更改代碼,但基本思想就是這樣)
const params = new URLSearchParams(window.location.search);
if (params.has('pq')) {
const pq = params.get('pq').split('|')[0];
console.log(pq);
}
uj5u.com熱心網友回復:
使用正則運算式:
const params = new URLSearchParams(window.location.search);
const regX = /(\w [\ ]?\w )/gm;
if (params.has('pq')) {
const pq = params.get('pq').match(regX);
console.log(pq && pq[0]);
}
uj5u.com熱心網友回復:
這是一種方法:
let a = "https://www.example.com/en-us/search?pq=marketing agriculture|relevance|bestSeller:true"
// Converts Params to Object
const parseParams = (querystring) => {
// parse query string
const params = new URLSearchParams(querystring);
const obj = {};
// iterate over all keys
for (const key of params.keys()) {
if (params.getAll(key).length > 1) {
obj[key] = params.getAll(key);
} else {
obj[key] = params.get(key);
}
}
return obj;
};
let aURL = new URL(a) // get the URL instance
let queryObj = parseParams(aURL.search) // grab and parse the parameter string (.search)
let search = queryObj.pq.split('|')[0] // grab the 'pq' prop (i.e that holds the search value.) and split it to get the actual search string
console.log(search)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/384239.html
標籤:javascript 查询
