今天在犀牛書上發現了一個有用的函數 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; //yyyvar password = args.password; //zzz