如何使用jquery以不区分大小写的方式获取URL参数

时间:2014-06-24 20:39:01

标签: javascript jquery

有没有办法使用jquery以不区分大小写的方式获取URL参数?

基本上,我希望做$.url('?someparameter');之类的事情,它会匹配http:\\www.test.com?someparameter=ABC或者 http:\\www.test.com?SOMEparAMeter=ABC

3 个答案:

答案 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;
        }