本文介绍了一个用于提取 URL 搜索字符串中参数的 JavaScript 自定义函数 urlArgs。该函数通过解析 location.search,利用 split 和 indexOf 方法分离键值对,并使用 decodeURIComponent 解码参数值,最终返回包含所有查询参数的对象,便于前端开发中获取 URL 传递的数据。
URL 参数解析原理与函数实现
在犀牛书等经典资料中,常提及一个名为 urlArgs 的实用函数,用于从 URL 的查询字符串中提取参数。网页链接后常附带参数,例如 http://www.xxx.com/?username=yyy&password=zzz。为了获取这些参数的具体值(如 yyy 和 zzz),可以调用 urlArgs 函数。该函数返回一个对象,通过访问该对象的属性即可直接获取对应的参数值。
var password = args.password; // 获取 zzz:
具体实现代码如下:
function urlArgs(){
var args = {};
var query = location.search.substring(1);
var pairs = query.split('&');
for(var i = 0; i < pairs.length; i++){
var pos = pairs[i].indexOf('=');
if(pos == -1) continue;
var name = pairs[i].substring(0,pos);
var value = pairs[i].substring(pos + 1);
value = decodeURIComponent(value);
args[name] = value;
}
return args;
} 使用方法:
}
函数调用与参数获取示例调用示例代码如下:
var args = urlArgs();
var username = args.username; // 获取 yyy