有没有办法使用jquery以不区分大小写的方式获取URL参数?
基本上,我希望做$.url('?someparameter');
之类的事情,它会匹配http:\\www.test.com?someparameter=ABC
或者
http:\\www.test.com?SOMEparAMeter=ABC
答案 0 :(得分:3)
您应该尝试toLowerCase。此函数将任何字符串转换为小写。
答案 1 :(得分:0)
使用正则表达式设置不区分大小写的标志。
Regular Expressions - 向下滚动到"使用标志进行高级搜索"
请查看:How can I get query string values in JavaScript?
适应您需求的路线如下:
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)", "i");
//"i" for case-insensitive
答案 2 :(得分:0)
这不使用jQuery,仅使用javascript。但这基本上解决了这个问题。
无法显示整个ULR的问题是您可能要键入该值来查找HTML元素。
我不知道为什么URL.searchParams中没有键集合,但没有。 下面是我编写的一个函数,该函数将找到一个键并返回一个值。
我几乎不懂regEx,所以我相信有更好的regEx可以帮助您 评估并省略尾随键值对。
if(argc == 1){
fprintf(stderr, "No arguments found.\n");
exit(2);
}
用法将是这样
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;
}