繁体   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