這個題目不約而同的出現在了多家公司的面試題中,當然也是因為太過於典型,解決方案無非就是拆字元或者用正則匹配來解決,我個人強烈建議用正則匹配,因為url允許使用者隨意輸入,如果用拆字元的方式,有任何一處沒有考慮到容錯,就會導致整個js都報錯。而正則就沒有這個問題,他只匹配出正確的配對,非法的全部過濾掉,簡單,方便。
實現**:
1、手動解析
function getquerystringargs(url);var items = qs.length > 0 ? qs.split('&'
) : ;
var item = null
;
var name = null
;
var value = null
;
for(var i=0; i)
}return
args;
}console.log(getquerystringargs(
''));
//object
2、使用正則
function getqueryobject(url) ;var reg = /([^?&=]+)=([^?&=]*)/g;
//[^?&=]+表示:除了?、&、=之外的一到多個字元
//[^?&=]*表示:除了?、&、=之外的0到多個字元(任意多個)
search.replace(reg, function (rs, $1, $2
) );
return
obj;
}console.log(getqueryobject(
''));
//object
html 對URL傳引數進行解析
跳轉頁面需要傳引數到另外乙個html頁面,跳轉鏈結可寫乙個js的function function doview articleid 然而url會被編碼 encodeurl collectionarticlecomment.jsp?articleid 20 202576 因此我們先將url解碼 de...
html 對URL傳引數進行解析
跳轉頁面需要傳引數到另外乙個html頁面,跳轉鏈結可寫乙個js的function function doview articleid 然而url會被編碼 encodeurl collectionarticlecomment.jsp?articleid 20 202576 因此我們先將url解碼 de...
URL引數解析成乙個Json物件
面試題 url引數解析成乙個json物件 問題 請編寫乙個j ascript函式parsequerystring,它的用途是把url引數解析為乙個物件。eg var obj parsequerystring url 建立物件的三種形式 一 var person new object person.n...