将url 问号后的参数转化为params对象:
// 解析URL Params为对象
let str = 'http://www.xxx.com/?name=lele&from=sjz&age=300#666';
String.prototype.quertURL = function queryURL(attr) {
let obj = {},
self = this,
reg1 = /([^?&=#]+)=([^?&=#]+)/g,
reg2 = /#([^?&=#]+)/g;
self.replace(reg1, (_, key, val) => obj[key] = val)
self.replace(reg2, (_, val) => obj['hash'] = val)
return typeof attr === 'undefined' ? obj : (obj[attr] || '')
}
console.log(str.quertURL('name')); // lele
console.log(str.quertURL('from')); // sjz
console.log(str.quertURL('age')); // 300
console.log(str.quertURL('hash')); // 666
console.log(str.quertURL('sex')); //
这段代码演示了如何从URL中解析参数并将其转化为对象。通过使用正则表达式,可以提取`name`、`from`、`age`等属性,并且能够处理URL中的`hash`。当请求特定属性如`name`、`from`、`age`时,函数返回对应的值;若未指定属性,则返回整个解析后的对象。
944

被折叠的 条评论
为什么被折叠?



