front-standard-utils
Version:
41 lines (37 loc) • 1.2 kB
text/typescript
/**
* @desc 获取单个url参数
* @param key 对应key值的参数
* @param targetUrl 可选,不传获取当前地址的url,传入后获取targetUrl的参数
* @returns
*/
export const getUrlParam = (key: string, targetUrl = undefined) => {
let query = targetUrl ?? window.location.search.substring(1);
let vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (pair[0] == key) {
return pair[1];
}
}
return '';
};
/**
* @desc 获取所有url参数
* @param targetUrl 可选,不传获取当前地址的url,传入后获取targetUrl的参数
* @returns
*/
export function getUrlParams(targetUrl: string) {
let query = targetUrl ?? window.location.search.substring(1);
// str为?之后的参数部分字符串
const str = query.substr(query.indexOf('?') + 1);
// arr每个元素都是完整的参数键值
const arr = str.split('&');
// result为存储参数键值的集合
const result: any = {};
for (let i = 0; i < arr.length; i++) {
// item的两个元素分别为参数名和参数值
const item = arr[i].split('=');
result[item[0]] = item[1];
}
return result;
}