JavaScript獲取URL中參數(shù)值的四種方法
方法1:現(xiàn)代瀏覽器都支持 URL 和 URLSearchParams 對(duì)象,可以很方便地從URL中提取參數(shù)
// 假設(shè)當(dāng)前URL為 "https://example.com/?name=John&age=30" const url = new URL(window.location.href); // 或者你可以直接傳入一個(gè)URL字符串 const name = url.searchParams.get('name'); // "John" const age = url.searchParams.get('age'); // "30" console.log(name, age);
方法2:使用正則表達(dá)式
可以使用正則表達(dá)式匹配URL參數(shù),這種方法相對(duì)較低效且較復(fù)雜,但也可以做到。
function getQueryParam(name) { const regex = new RegExp('[?&]' + name + '=([^&#]*)', 'i') const results = regex.exec(window.location.href) return results ? decodeURIComponent(results[1]) : null } // 假設(shè)當(dāng)前URL為 "https://example.com/?name=John&age=30" const name = getQueryParam('name'); // "John" const age = getQueryParam('age'); // "30" console.log(name, age)
方法3:使用 split 和 reduce
可以通過(guò) split 方法手動(dòng)拆分查詢參數(shù),并用 reduce 將其轉(zhuǎn)化為對(duì)象。
function getQueryParams() { return window.location.search .substring(1) // 去掉 ? .split('&') // 按 & 拆分 .reduce((params, param) => { const [key, value] = param.split('='); params[decodeURIComponent(key)] = decodeURIComponent(value || ''); return params; }, {}); } // 假設(shè)當(dāng)前URL為 "https://example.com/?name=John&age=30" const params = getQueryParams(); const name = params['name'];// "John" const age = params['age']; // "30" console.log(name, age);
方法4:使用 location.search 和自定義函數(shù)
在 location.search
上構(gòu)建自己的解析函數(shù),此方法比較簡(jiǎn)單。
function getQueryParameter(name) { const params = new URLSearchParams(location.search) return params.get(name) } // 假設(shè)當(dāng)前URL為 "https://example.com/?name=John&age=30" const name = getQueryParameter('name'); // "John" const age = getQueryParameter('age'); // "30" console.log(name, age)
總結(jié)
到此這篇關(guān)于JavaScript獲取URL中參數(shù)值的四種方法的文章就介紹到這了,更多相關(guān)JS獲取URL參數(shù)值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用JavaScript解析URL參數(shù)為對(duì)象的多種方法
- JavaScript 獲取 URL 中參數(shù)值的方法
- JavaScript 獲取 URL 中參數(shù)值的方法詳解(最新整理)
- JavaScript獲取當(dāng)前頁(yè)面url參數(shù)的方法詳解
- JavaScript實(shí)現(xiàn)獲取URL中參數(shù)值的4種方法
- 使用JavaScript獲取URL參數(shù)的方法總結(jié)
- JavaScript獲取URL參數(shù)的幾種方法小結(jié)
- JavaScript獲取URL參數(shù)常見(jiàn)的4種方法
- JavaScript獲取URL參數(shù)的四種方法總結(jié)
- js獲取url參數(shù)值的幾種方式詳解
- JS獲取URL網(wǎng)址中參數(shù)的幾種方法小結(jié)
相關(guān)文章
使用Bootstrap美化按鈕實(shí)例代碼(demo)
這篇文章主要介紹了使用Bootstrap美化按鈕實(shí)例代碼(demo),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02js簡(jiǎn)單倒計(jì)時(shí)實(shí)現(xiàn)代碼
這篇文章主要介紹了js簡(jiǎn)單倒計(jì)時(shí)實(shí)現(xiàn)代碼,涉及JavaScript時(shí)間與日期的相關(guān)運(yùn)算技巧,需要的朋友可以參考下2016-04-04js中常見(jiàn)切割截取字符串的幾種方法小結(jié)
前端開(kāi)發(fā)中,字符串處理是比較常見(jiàn)的,下面這篇文章主要給大家介紹了關(guān)于js中常見(jiàn)切割截取字符串的幾種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09JS動(dòng)態(tài)修改iframe高度和寬度的方法
這篇文章主要介紹了JS動(dòng)態(tài)修改iframe高度和寬度的方法,實(shí)例分析了javascript操作iframe屬性的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04JS實(shí)現(xiàn)屏蔽shift,Ctrl,alt等功能鍵的方法
這篇文章主要介紹了JS實(shí)現(xiàn)屏蔽shift,Ctrl,alt等功能鍵的方法,涉及javascript針對(duì)鍵盤按鍵的獲取與操作技巧,需要的朋友可以參考下2015-06-06拖動(dòng)table標(biāo)題實(shí)現(xiàn)改變td的大小(css+js代碼)
拖動(dòng)列寬的表格table標(biāo)題同時(shí)改變td的大小,本文將以實(shí)例演示為大家呈現(xiàn),感興趣的朋友可以參考下哈,希望對(duì)你學(xué)習(xí)js或者css有所幫助2013-04-04javascript基于DOM實(shí)現(xiàn)省市級(jí)聯(lián)下拉框的方法
這篇文章主要介紹了javascript基于DOM實(shí)現(xiàn)省市級(jí)聯(lián)下拉框的方法,可實(shí)現(xiàn)選擇省份后出現(xiàn)對(duì)應(yīng)城市下拉框選項(xiàng)的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05js實(shí)現(xiàn)鍵盤操作實(shí)現(xiàn)div的移動(dòng)或改變的原理及代碼
實(shí)現(xiàn)鍵盤操作實(shí)現(xiàn)div的移動(dòng),最關(guān)鍵的一點(diǎn):獲取div對(duì)象,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-06-06