91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

前端JS獲取URL參數的方法有哪些

發布時間:2022-04-06 10:24:55 來源:億速云 閱讀:431 作者:iii 欄目:開發技術

今天小編給大家分享一下前端JS獲取URL參數的方法有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

方法1: 字符串 split 方法

因為一個 url 地址是字符串形式的,所以利用 split 方法將參數提取出來,該方法比較常用,而且容易理解(對于不太會使用正則的我來說,haha~)

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

前端JS獲取URL參數的方法有哪些

方法2: 利用 URLSearchParams 方法

在 MDN 中結合兩種方法實現參數的獲取:1. 使用 new URLSearchParams(url) 方法,返回一個 URLSearchParams 對象,再調用 entries() 方法返回一個可迭代對象(Iterator);2. 使用 Object.fromEntries(iterable) 方法轉化為普通對象

let URL = "http://www.baidu.com?name=Jack&age=25&sex=men&wife=Lucy"
function getUrlParams2(url) {
	let urlStr = url.split('?')[1]
	const urlSearchParams = new URLSearchParams(urlStr)
	const result = Object.fromEntries(urlSearchParams.entries())
	return result
}
console.log(getUrlParams2(URL))

前端JS獲取URL參數的方法有哪些

特別的:URLSearchParams 方法不僅可以獲取參數,還可以將參數對象轉為 字符串,詳細用法可查看 MDN 中的介紹,并且該方法存在瀏覽器兼容性問題。

方法3: 利用正則匹配方法

正則匹配功能強大相信很多小伙伴都知道,不僅可以實現在登錄注冊時的賬號、密碼、郵箱、手機號等等的驗證,還可以非常方便的處理一些字符串(校驗、替換、提取等操作),難點在于對正則使用的熟練度,這里就是通過正則提取字符串中需要的字符

let URL = "http://www.baidu.com?name=Tom&friend=Jerry"
function getUrlParams3(url){
	// \w+ 表示匹配至少一個(數字、字母及下劃線), [\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))

前端JS獲取URL參數的方法有哪些

方法4: 使用第三方庫 qs

使用第三方庫 qs 也可以實現 url 中參數字符的提取,還能實現將參數對象轉為 url 參數形式,需要注意的是瀏覽器 cdn 方式引入時是默認添加到全局對象 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?product='iPhone 13 Pro'&price=¥9999.00"
function getUrlParams4(url){
	// 引入 qs 庫時會默認掛在到全局 window 的 Qs 屬性上
	// console.log(window)
	let urlStr = url.split('?')[1]
	let result = Qs.parse(urlStr)
	// 拼接額外參數
	let otherParams = {
		num:50,
		size:6.1
	}
	let str = Qs.stringify(otherParams)
	let newUrl = url + str
	return {result,newUrl}
}
console.log(getUrlParams4(URL))
</script>

前端JS獲取URL參數的方法有哪些

以上就是“前端JS獲取URL參數的方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常山县| 时尚| 阜新市| 栾城县| 福安市| 洛扎县| 石门县| 泰顺县| 金华市| 沙雅县| 施甸县| 吉水县| 彩票| 扬州市| 罗城| 泉州市| 高州市| 凌源市| 德保县| 宽城| 五峰| 兴安盟| 襄城县| 营山县| 扎囊县| 仙桃市| 青神县| 枣庄市| 松溪县| 通榆县| 许昌县| 石城县| 汾阳市| 平顺县| 聂拉木县| 新竹县| 米林县| 鹿邑县| 旬邑县| 济源市| 贵州省|