首頁 web前端 html教學 js取得url中參數名稱的實例教程

js取得url中參數名稱的實例教程

Jun 24, 2017 pm 01:49 PM
javascript 參數 數值 獲取

要撮利用js取得url中參數名稱也參數值這個不多見了,但我今天需要這樣操作,下面我來跟大家介紹一下具體的實例方法。
 


在已知參數名稱的情況下,取得參數值,使用正規表示式能很容易做到。


js的實作方法如下:

 程式碼如下

function getValue(url, name) {
 var reg = new RegExp('(\?|&)' + name + '=([^&?]*)', 'i') ;
 var arr = url.match(reg);

 if (arr) {
  return arr[2];
 }

# return null;
}

方法一:正規分析法

 

 程式碼如下

function getQueryString(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;    
}

這樣呼叫:

alert(GetQueryString("參數名稱1"));
alert(GetQueryString("參數名稱2"));
alert(GetQueryString("參數名稱3"));

#如果想取得所有的參數名稱和其對應的值,同樣也可以使用正規表示式的方法,


js實作方法:

 程式碼如下

function getKeyValue(url) {
 var result = {};
 var reg = new RegExp('( [\?|&])(.+?)=([^&?]*)', 'ig');
 var arr = reg.exec(url);

 while (arr ) {
  result[arr[2]] = arr[3];

  arr = reg.exec(url);
 }

# return result;
}

注意在js中用於匹配的還有一個叫match,match是字串的方法,而exec是RegExp物件的方法。使用字串的match方法,同時正規表示式指定為全域匹配,那麼正規表示式中的分組將沒有用,而傳回的結果是所有匹配正規表示式的子字串。 exec方法沒有使用全域匹配標誌時,返回的時間第一個匹配的子字符,如果使用了全域匹配標誌,第一次執行從頭開始匹配符號的字串,再次調用,就從上一次匹配結果後開始匹配。

下面提供php的實作方法:

 程式碼如下

function getKeyValue($url) {
 $result = array();
 $mr = preg_match_all('/(?|&)(.+?)=([^&?]*) /i', $url, $matchs);

 if ($mr !== FALSE) {
  for ($i = 0; $i < $mr; $i++) {
   $result[$matchs[2][$i]] = $matchs[3][$i];
  }
 }

 return $result;
}

php的preg_match_all方法把符合的結果存放在第三個指定的參數中,是一個二維陣列。第一維度是分組資訊的數組,即第一個數組存放的是所有匹配的完整字串,第二個數組存放的是第一個()對應的值得,第二個維度是分組的值。

以上是js取得url中參數名稱的實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
谷歌安全碼在哪裡獲取 谷歌安全碼在哪裡獲取 Mar 30, 2024 am 11:11 AM

谷歌驗證器是一種用於保護使用者帳戶安全的工具,其金鑰是用於產生動態驗證碼的重要資訊。如果忘記了谷歌驗證器的金鑰,只能透過安全碼進行驗證,那麼下文站小編就會為大家帶來谷歌安全碼在哪裡取得的詳細內容介紹,希望能幫助到大家,想要了解的用戶們就請跟著下文繼閱讀吧!首先開啟手機設置,進入設定頁面。下拉頁面,找到Google。進入Google頁面,點選Google帳號。進入帳號頁面,點選驗證碼下方的檢視。輸入密碼或使用指紋驗證身分。取得Google安全碼,利用安全碼驗證Google身分。

C++ 函式參數型別安全檢查 C++ 函式參數型別安全檢查 Apr 19, 2024 pm 12:00 PM

C++參數類型安全檢查透過編譯時檢查、執行時間檢查和靜態斷言確保函數只接受預期類型的值,防止意外行為和程式崩潰:編譯時類型檢查:編譯器檢查類型相容性。運行時類型檢查:使用dynamic_cast檢查類型相容性,不符則拋出異常。靜態斷言:在編譯時對型別條件進行斷言。

i9-12900H參數評測大全 i9-12900H參數評測大全 Feb 23, 2024 am 09:25 AM

i9-12900H是14核心的處理器,使用的架構和工藝都是全新的,線程也很高,整體的工作都是很優秀的,一些參數都有提升特別的全面,是可以給用戶們帶來極佳體驗的。 i9-12900H參數評測大全評測:1、i9-12900H是14核心的處理器,採用了q1架構以及24576kb的製程工藝,提升到了20個執行緒。 2.最大的CPU頻率是1.80!5.00ghz,整體主要取決於工作的負載。 3.相比較價位來說還是特別合適的,性價比很不錯,對於一些需要正常使用的伙伴來說非常的合適。 i9-12900H參數評測大全性能跑分

開源模型首勝GPT-4!競技場最新戰報引熱議,Karpathy:這是我唯二信任的榜單 開源模型首勝GPT-4!競技場最新戰報引熱議,Karpathy:這是我唯二信任的榜單 Apr 10, 2024 pm 03:16 PM

能打得過GPT-4的開源模型出現了!大模型競技場最新戰報:1040億參數開源模型CommandR+攀升至第6位,與GPT-4-0314打成平手,超過了GPT-4-0613。圖片這也是第一個在大模型競技場上擊敗GPT-4的開放權重模型。大模型競技場,可是大神Karpathy口中唯二信任的測試基準之一。圖片CommandR+來自AI獨角獸Cohere。這家大模型新創公司的共同創辦人兼CEO,正是Transformer最年輕作者AidanGomez(簡稱割麥子)。圖片這份戰報一出,又掀起了一波大模型社

快速取得螢幕高度的jQuery技巧 快速取得螢幕高度的jQuery技巧 Feb 24, 2024 pm 06:30 PM

jQuery技巧:快速取得螢幕高度的實作方式在網頁開發中,經常會遇到需要取得螢幕高度的情況,例如實現響應式佈局、動態運算元素尺寸等。而使用jQuery可以很方便地實現獲取螢幕高度的功能。以下就來介紹一些使用jQuery快速取得螢幕高度的實作方式,並附上具體的程式碼範例。方法一:使用jQuery的height()方法取得畫面高度透過使用jQuery的height

vivox200ultra參數及價格詳情 vivox200ultra參數及價格詳情 Jun 28, 2024 pm 01:23 PM

vivox200ultra最新官方消息曝光了vivox200ultra參數及價格詳情,據悉vivox200ultra將搭載10倍潛望超長焦,價格大概在6999元起,可見其在拍照性能上佔據了絕對的優勢地位,下面是vivox200ultra參數及價格詳情,快來看看。一、vivox200ultra參數配置詳情1、vivox200ultra渲染圖由vivo X200 Ultra渲染圖來看,該機正面採用了無邊框的全面屏設計,整個手機正面的視覺效果可以說非常的無敵。 2、vivox200ultra有黑鷹框架

C++ 函式中引用參數和指標參數的高階用法 C++ 函式中引用參數和指標參數的高階用法 Apr 21, 2024 am 09:39 AM

C++函數中的引用參數(本質為變數別名,修改引用修改原始變數)和指標參數(儲存原始變數的記憶體位址,透過解引用指標修改變數)在傳遞和修改變數時有著不同的用法。引用參數常用於修改原始變數(尤其是大型結構體),傳遞給建構子或賦值運算子時避免複製開銷。指標參數則用於靈活指向記憶體位置,實現動態資料結構或傳遞空指標表示可選參數。

真我 12 Pro怎麼安裝雙卡? 真我 12 Pro怎麼安裝雙卡? Mar 18, 2024 pm 02:10 PM

雖然說國產手機的大致操作是很相似的,但是在有的細節上面還是會有些區別的,比如說不同的手機型號和製造商可能會有不同的雙卡安裝方式。二真我12Pro這款新手機也是支援雙卡雙待的,但這款手機具體又該怎麼安裝雙卡呢?真我12Pro怎麼安裝雙卡?安裝之間記得先把手關機喲。步驟一查找SIM卡托盤:查找手機的SIM卡托盤,通常,在真我12Pro中,SIM卡托盤位於手機的側邊或頂部。步驟二插入第一張SIM卡,使用專用的SIM卡針或一個細小的物體,將其插入SIM卡托盤中的開槽,然後,將第一張SIM卡小心地

See all articles