[英]How to obtain URL parameter using jquery in case insensitive way
有沒有辦法使用 jquery 以不區分大小寫的方式獲取 URL 參數?
本質上,我希望做一些類似$.url('?someparameter');
,它將匹配http:\\\\www.test.com?someparameter=ABC
或http:\\\\www.test.com?SOMEparAMeter=ABC
你應該嘗試toLowerCase 。 此函數將任何字符串轉換為小寫。
使用正則表達式來設置不區分大小寫的標志。
正則表達式——向下滾動到“使用標志進行高級搜索”
請看一下: 如何在 JavaScript 中獲取查詢字符串值?
適應您需求的線路如下:
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)", "i");
//"i" for case-insensitive
這不使用 jQuery,只是 javascript。 但它解決了一般問題。
使用整個 ULR 的問題是您可能會關閉值以查找 HTML 元素。
為什么 URL.searchParams 中沒有鍵的集合,我不知道,但沒有。 下面是我寫的一個函數,它將找到一個鍵並返回一個值。
我對 regEx 幾乎不了解,所以我確信有一個更好的 regEx 可以提取值並省略尾隨鍵值對。
function getParm_CI(parm) {
var str = window.location.href;
var rgx = new RegExp('\\b' + parm + '=.*\\b', 'gi');
//this gets an array of matches
var aMatches = str.match(rgx);
if (aMatches == null) return;
var parmVal = aMatches[0].substring(parm.length + 1);
//we shouldnt, but make sure there are not trailing parms
var idx = parmVal.indexOf('&');
//alert('amp:' + idx);
if (idx > -1) parmVal = parmVal.substring(0, idx);
return parmVal;
}
用法是這樣的
var topic = getParm_CI('SOMEparAMeter');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.