URLのパラメータと対応値を取得し、キーペアで戻ります.
1254 ワード
題意によって、URLは三つの種類に分けられます.パラメータなしで、一つのパラメータがあります.複数のパラメータがあります.
解決方法は以下の通りです
1、URLに文字「?」が含まれているかどうかを判断します.なしで終了し、パラメータと対応値が含まれていないことを提示します.パラメータと対応する値の一部を取得して分割します.
window.locationを通じて現在のページのURLを取得し、window.location.searchは「?」で始まるパラメータ名と対応値をつづった文字列を取得し、
処理方法は大同小異であるが,ここでは詳しく述べる必要はない.
http://www.jiangxiaobai.com
http://www.jiangxiaobai.com?name=xiaobai
http://www.jiangxiaobai.com?name=xiaobai&age=17
パラメータと文字「?」の後、パラメータ間は「&」で区切られ、パラメータ名と値は「=」で接続されます.解決方法は以下の通りです
1、URLに文字「?」が含まれているかどうかを判断します.なしで終了し、パラメータと対応値が含まれていないことを提示します.パラメータと対応する値の一部を取得して分割します.
url.indexOf("?")>-1 // “?”
2、取得パラメータと対応値部分var paraStr=url.split("?")[1];
3、結合文字「&」は各パラメータを分離します.paraItems=paraStr.split("&");
4、遍歴して、急遽3の結果、各項目を再分割し、パラメータと対応値を得て、最後にキーペアの形で保存します.window.locationを通じて現在のページのURLを取得し、window.location.searchは「?」で始まるパラメータ名と対応値をつづった文字列を取得し、
処理方法は大同小異であるが,ここでは詳しく述べる必要はない.
var url="www.baidu.com?name=baibai";
function getPara(url){
if(url.indexOf("?")>-1){
var result=[];
var paraStr=url.split("?")[1];
var paraItems=paraStr.split("&");
for(var i=0;i