今天在犀牛书上发现了一个有用的函数 urlArgs(提取 url 的搜索字符串中的参数)。我们经常会看到有的页面链接地址后面会跟有参数,比如 http://www.xxx.com/?username=yyy&password=zzz 之类的,很多时候我们需要获得这些参数的值(yyy 和 zzz),那么就可以利用 urlArgs 函数,通过该函数的返回值(返回值是对象)的属性来获取。
urlArgs 函数代码:
function urlArgs(){ var args = {}; var query = location.search.substring(1); if(query){ if(query.indexOf('=') == -1){ alert('参数形式错误'); return false; }else{ 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); if(!name){ alert('参数名不能为空'); return false; } var value = pairs[i].substring(pos + 1); value = decodeURIComponent(value); args[name] = value; } } }else{ alert('没有参数'); return false; } return args; }
使用方法:
比如链接地址:http://www.xxx.com/?username=yyy&password=zzz
var args = urlArgs(); var username = args.username; //yyy var password = args.password; //zzz