首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 正則表達式解析:提取 URL 中 id 參數值

     編輯:程式設計綜合問答

代碼片段

var rs = new RegExp("(^|)id=([^&]*)(&|$)", "gi").exec(String(window.document.location.href)), tmp;

逐項解析

部分含義
new RegExp(...)創建正則對象,參數為模式字符串和標志
"(^|)id=([^&]*)(&|$)"模式:
(^|) 匹配字符串開頭或任意位置(注意:此處第一個分組為空選項,寫法較奇特)
id= 匹配字面量 "id="
([^&]*) 捕獲組 2:匹配零個或多個非 & 字符(即參數值)
(&|$) 匹配 & 或字符串結尾
"gi"標志:g 全局匹配,i 忽略大小寫
.exec(String(window.document.location.href))在當前頁面完整 URL 上執行匹配,返回結果數組或 null
, tmp聲明變量 tmp(未初始化),與 rs 同作用域

返回值說明

rs 為數組:

  • rs[0]:完整匹配字符串(如 "id=123&")
  • rs[1]:第一個分組內容(此處為空或開頭)
  • rs[2]:目標參數值(如 "123")
  • rs[3]:第三個分組(& 或空)

改進建議

更清晰的寫法:

const urlParams = new URLSearchParams(window.location.search);
const idValue = urlParams.get('id'); // 直接獲取,無需正則

現代瀏覽器原生支持 URLSearchParams,代碼更簡潔、健壯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved