JavaScript için queryString fonksiyonu

Bugün ofisteki bir arkadaşıma lazım oldu. Ben de şöyle bir şey yazdım.

 function queryString() {
	var qs = location.search.substring(1,location.search.length).replace(/(%20|\+)/g," ");
	if(arguments.length == 0 || qs == "") return qs; else qs = "&" + qs + "&";
	return qs.substring(qs.indexOf("=", qs.indexOf("&" + arguments[0] + "=") + 1) + 1, qs.indexOf("&", qs.indexOf("&" + arguments[0] + "=") + 1));
}

Örnek Kullanım:

// http://www.site.com/index.php?str1=Merhaba+Dunya&str2=Test
// Şeklindeki bir adresten str1 ya da str2 bölümünü almak için
var str1 = queryString('str1');
var str2 = queryString('str2');
// Adresteki QueryString'in tamamını almak için
var qStr = queryString();

Google’da JavaScript ve QueryString kelimelerini arattığınızda da bir çok sonuç karşınıza çıkıyor. Problemin çözümü için bir çok farklı yol var. Temel olarak Regular Expressions kullanılarak oluşturulmuş bu fonksiyon ya da Split kullanılarak hazırlanmış bu fonksiyon gibi bir çok örneğe ulaşabilirsiniz.