簡體   English   中英

如何以不區分大小寫的方式使用jquery獲取URL參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM