最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript獲取URL參數(shù)的方法分享

 更新時間:2022年04月07日 16:52:24   作者:xusx  
這篇文章主要介紹了JavaScript獲取URL參數(shù)的方法分享,主要包括字符串?split?方法、?URLSearchParams?方法、正則匹配方法等,具有一定的參考價值需要的小伙伴可以參考一下

一、字符串 split 方法

url 地址是字符串形式的,所以利用 split 方法將參數(shù)提取出來,該方法比較常用,而且容易理解(無關(guān)正則)

let URL = "http://www.baidu.com?name=小宇&age=25&sex=男&wife=小君";
function getUrlParams(url) {
    // 通過 ? 分割獲取后面的參數(shù)字符串
    let urlStr = url.split('?')[1];
    // 創(chuàng)建空對象存儲參數(shù)
	let obj = {};
    // 再通過 & 將每一個參數(shù)單獨分割出來
	let paramsArr = urlStr.split('&');
	for(let i = 0,len = paramsArr.length;i < len;i++){
        // 再通過 = 將每一個參數(shù)分割為 key:value 的形式
		let arr = paramsArr[i].split('=');
		obj[arr[0]] = arr[1];
	}
	return obj;
}
console.log(getUrlParams(URL));

二、使用 URLSearchParams 方法

1、解析搜索字符串

let url = 'https://www.baidu.com/s?ie=UTF-8&wd=%E8%AE%B8%E5%96%84%E7%A5%A5&p=1';
let urlStr = url.split('?')[1];
const params = new URLSearchParams(urlStr);
console.log(params.get('k'));   // 返回字符串“許善祥”,支持自動 UTF-8 解碼
console.log(params.get('p'));   // 返回字符串“1”
console.log(params.get('xxx')); // 如果沒有 xxx 這個鍵,則返回 null
console.log(params.has('xxx')); // 當(dāng)然也可以通過 has() 方法查詢是否存在指定的鍵
console.log(params.keys());     // 返回一個 ES6 Iterator,內(nèi)含 ['k', 'p']
console.log(params.values());   // 返一個 ES6 Iterator,內(nèi)含 ['許善祥', '1']
console.log(params.entries());  // 與 Map.prototype.entries() 類似

2、生成搜索字符串

const params = new URLSearchParams();
params.set('k', '許善祥');       // 設(shè)置參數(shù)
params.set('p', 1);             // 支持 Boolean、Number 等豐富類型
console.log(params.toString()); // k=%E8%AE%B8%E5%96%84%E7%A5%A5&p=1

3、Node.js 代碼

const { URLSearchParams } = require('url');

const urlSearchParams = new URLSearchParams();

三、使用正則匹配方法

正則匹配功能強大,不僅可以實現(xiàn)在登錄注冊時的賬號、密碼、郵箱、手機(jī)號等驗證(看這里),還可以非常方便的處理一些字符串(校驗、替換、提取等操作)。

let URL = 'http://www.baidu.com?name=祥&friend=宇';
function getUrlParams3(url){
    // \w+ 表示匹配至少一個(數(shù)字、字母及下劃線),
    // [\u4e00-\u9fa5]+ 表示匹配至少一個中文字符
    let pattern = /(\w+|[\u4e00-\u9fa5]+)=(\w+|[\u4e00-\u9fa5]+)/ig;
    let result = {};
    url.replace(pattern, ($, $1, $2)=>{
        result[$1] = $2;
    });
    return result;
}
console.log(getUrlParams3(URL));
// {name: '祥', friend: '宇'}

四、使用第三方庫 qs

使用第三方庫 qs 也可以實現(xiàn) url 中參數(shù)字符的提取,還能實現(xiàn)將參數(shù)對象轉(zhuǎn)為 url 參數(shù)形式,需要注意的是瀏覽器 cdn 方式引入時是默認(rèn)添加到全局對象 window 的 Qs 屬性上。

<script src="https://cdn.bootcdn.net/ajax/libs/qs/6.10.3/qs.min.js"></script>
<script>
let URL = 'http://www.baidu.com?name=祥&friend=宇';
function getUrlParams4(url) {
    // 引入 qs 庫時會默認(rèn)掛在到全局 window 的 Qs 屬性上
    // console.log(window);
    let urlStr = url.split('?')[1];
    let result = Qs.parse(urlStr);
    // 拼接額外參數(shù)
    let otherParams = {
        homepage: 'xushanxiang.com'
    };
    let str = Qs.stringify(otherParams);
    let newUrl = url + str;
    return {result, newUrl};
}
console.log(getUrlParams4(URL));

到此這篇關(guān)于JavaScript獲取URL參數(shù)的方法分享的文章就介紹到這了,更多相關(guān)JavaScript獲取URL參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript對象字面量和構(gòu)造函數(shù)原理與用法詳解

    JavaScript對象字面量和構(gòu)造函數(shù)原理與用法詳解

    這篇文章主要介紹了JavaScript對象字面量和構(gòu)造函數(shù),結(jié)合實例形式分析了JavaScript對象字面量和構(gòu)造函數(shù)相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • dropload.js插件下拉刷新和上拉加載使用詳解

    dropload.js插件下拉刷新和上拉加載使用詳解

    這篇文章主要為大家詳細(xì)介紹了dropload.js插件下拉刷新和上拉加載的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • JavaScript程序員應(yīng)該知道的45個實用技巧

    JavaScript程序員應(yīng)該知道的45個實用技巧

    在這篇文章中,我將分享一組JavaScript的技巧、竅門和最佳實踐,這些都是JavaScript程序員應(yīng)該知曉的,不管他們是使用在瀏覽器/引擎上,還是服務(wù)器端(SSJS——Service Side JavaScript)JavaScript解釋器上
    2014-03-03
  • 在ES5與ES6環(huán)境下處理函數(shù)默認(rèn)參數(shù)的實現(xiàn)方法

    在ES5與ES6環(huán)境下處理函數(shù)默認(rèn)參數(shù)的實現(xiàn)方法

    本文給大家介紹在ES5與ES6環(huán)境下處理函數(shù)默認(rèn)參數(shù)的實現(xiàn)方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • JS點擊鏈接后慢慢展開隱藏著圖片的方法

    JS點擊鏈接后慢慢展開隱藏著圖片的方法

    這篇文章主要介紹了JS點擊鏈接后慢慢展開隱藏著圖片的方法,實例分析了javascript操作圖片的隱藏與現(xiàn)實技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • JS字符串與二進(jìn)制的相互轉(zhuǎn)化實例代碼詳解

    JS字符串與二進(jìn)制的相互轉(zhuǎn)化實例代碼詳解

    這篇文章主要介紹了JS字符串與二進(jìn)制的相互轉(zhuǎn)化 ,在文中給大家提到了Js之字符串和字節(jié)碼之間的相互轉(zhuǎn)換,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 使用Axios函數(shù)庫進(jìn)行網(wǎng)絡(luò)請求的操作指南

    使用Axios函數(shù)庫進(jìn)行網(wǎng)絡(luò)請求的操作指南

    在現(xiàn)代的前端開發(fā)中,API調(diào)用是實現(xiàn)前后端數(shù)據(jù)交互的重要環(huán)節(jié),而在眾多的HTTP庫中,Axios以其簡潔的語法、豐富的功能和易于擴(kuò)展的特性,成為了開發(fā)者的首選,本篇文章將深入介紹Axios的使用方法,
    2024-11-11
  • 深入淺析JavaScript的API設(shè)計原則

    深入淺析JavaScript的API設(shè)計原則

    這篇文章主要介紹了JavaScript的API設(shè)計原則,包括接口的流暢性,一致性,參數(shù)的處理,可擴(kuò)展性,對錯誤的處理,可預(yù)見性,注釋和文檔的可讀性,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • JavaScript實現(xiàn)ASC轉(zhuǎn)漢字及漢字轉(zhuǎn)ASC的方法

    JavaScript實現(xiàn)ASC轉(zhuǎn)漢字及漢字轉(zhuǎn)ASC的方法

    這篇文章主要介紹了JavaScript實現(xiàn)ASC轉(zhuǎn)漢字及漢字轉(zhuǎn)ASC的方法,涉及JavaScript編碼轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • 微信小程序開發(fā)常用功能匯總

    微信小程序開發(fā)常用功能匯總

    這篇文章主要介紹了微信小程序開發(fā)常用功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02

最新評論

绥芬河市| 前郭尔| 临高县| 青岛市| 吴川市| 肥东县| 汝城县| 台东市| 星座| 独山县| 沐川县| 洛宁县| 分宜县| 南江县| 石阡县| 江口县| 深圳市| 富宁县| 扎鲁特旗| 云浮市| 南部县| 庄河市| 柯坪县| 哈密市| 商丘市| 固阳县| 特克斯县| 亚东县| 会昌县| 和田市| 云霄县| 定西市| 余干县| 岳普湖县| 潼关县| 韶关市| 合作市| 托克托县| 泸州市| 准格尔旗| 社旗县|