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