DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JS根據key值獲取URL中的參數值及把URL的參數轉換成json對象
JS根據key值獲取URL中的參數值及把URL的參數轉換成json對象
編輯:關於JavaScript     

不廢話了,直接貼代碼了,通過示例一講解JS根據key值獲取URL中的參數值及把URL的參數轉換成json對象,示例二講解js獲取url傳遞參數,具體內容請看下文

示例一:

//把url的參數部分轉化成json對象 

 parseQueryString: function (url) {
  var reg_url = /^[^\?]+\?([\w\W]+)$/,
   reg_para = /([^&=]+)=([\w\W]*?)(&|$|#)/g,
   arr_url = reg_url.exec(url),
   ret = {};
  if (arr_url && arr_url[1]) {
   var str_para = arr_url[1], result;
   while ((result = reg_para.exec(str_para)) != null) {
    ret[result[1]] = result[2];
   }
  }
  return ret;
 }

// 通過key獲取url中的參數值

 getQueryString: function (name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return unescape(r[2]);
  return null;
 }

示例二:

js通過兩種方法獲取url傳遞參數:

js獲取url傳遞參數方法一:

 這裡是一個獲取URL帶QUESTRING參數的JAVASCRIPT客戶端解決方案,相當於asp的request.querystring,PHP的$_GET
函數:

<Script language="javascript">
function GetRequest() {
 
 var url = location.search; //獲取url中"?"符後的字串
 var theRequest = new Object();
 if (url.indexOf("?") != -1) {
  var str = url.substr(1);
  strs = str.split("&");
  for(var i = 0; i < strs.length; i ++) {
   theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
  }
 }
 return theRequest;
}
</Script>

然後我們通過調用此函數獲取對應參數值:

<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 參數1,參數2,參數3,參數N;
參數1 = Request[''參數1''];
參數2 = Request[''參數2''];
參數3 = Request[''參數3''];
參數N = Request[''參數N''];
</Script>

以此獲取url串中所帶的同名參數

js獲取url傳遞參數方法二 正則分析法:

function GetQueryString(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
  var r = window.location.search.substr(1).match(reg);
  if (r!=null) return (r[2]); return null;
}
alert(GetQueryString("參數名1"));
alert(GetQueryString("參數名2"));
alert(GetQueryString("參數名3"));

其他參數獲取介紹:

//設置或獲取對象指定的文件名或路徑。

alert(window.location.pathname);

//設置或獲取整個 URL 為字符串。

alert(window.location.href);

//設置或獲取與 URL 關聯的端口號碼。

alert(window.location.port);

//設置或獲取 URL 的協議部分。

alert(window.location.protocol);

//設置或獲取 href 屬性中在井號“#”後面的分段。

alert(window.location.hash);

//設置或獲取 location 或 URL 的 hostname 和 port 號碼。

alert(window.location.host);

//設置或獲取 href 屬性中跟在問號後面的部分。

alert(window.location.search);

以上內容介紹了JS根據key值獲取URL中的參數值及把URL的參數轉換成json對象,js通過兩種方式獲取url傳遞參數,代碼

非常簡單,希望對大家有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved