繁体   English   中英

区分大小写 Jquery getQuery URL 参数

[英]Case-Sensitive Jquery getQuery URL Param

我希望这对某人来说是一个快速的答案。 我已经构建了一个表单,它将一些查询参数传递到 URL 的末尾,并且我正在使用 Jquery 根据参数名称获取参数值。 我的 JQuery 代码似乎区分大小写,这会导致一些问题。 例如,我的参数名称是“Blah”,而我的 Jquery 代码正在寻找“blah”,但它不起作用。 有没有一种简单的方法可以将此代码更新为不区分大小写,这样我就不必手动考虑所有可能的情况(例如 blah、Blah、BLAH、blAh、blaH 等)?

样品 Jquery 代码:

(function ($) {
        $.getQuery = function (query) {
            query = query.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
            var expr = "[\\?&]" + query + "=([^&#]*)";
            var regex = new RegExp(expr);
            var results = regex.exec(window.location.href);
            if (results !== null) {
                return results[1];
                return decodeURIComponent(results[1].replace(/\+/g, " "));
            } else {
                return false;
            }
        };
    })(jQuery);
    var lang = $.getQuery('blah');

我也有在 JavaScript 中使用的类似代码,它也区分大小写。 有没有一种简单的方法可以将此代码更改为不区分大小写?

      var dURL = document.URL;
       function getParams() { //Get Name and (=) Values out of URL string after each &
           var idx = dURL.indexOf('?');
           var pnd = dURL.indexOf('#');
           var fparams = new Array();
           if (idx > -1) {
               if (pnd > idx) {
                   var pairs = dURL.substring(idx + 1, (pnd - idx)).split('&');
               } else {
                   var pairs = dURL.substring(idx + 1, document.URL.length).split('&');
               }
               for (var i = 0; i < pairs.length; i++) {
                   nameVal = pairs[i].split('=');
                   fparams[nameVal[0]] = nameVal[1];
               }
           }
           return fparams;
       }

       var params = getParams();

       if (params["blah"] != window.undefined) {
           lang = unescape(params["blah"]);
       } else {
           blah= '';
       }

任何可以提供的信息将不胜感激!

使用 js toLower 应该可以

(function ($) {
    $.getQuery = function (query) {
        query = query.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var expr = "[\\?&]" + query + "=([^&#]*)";
        var regex = new RegExp(expr);
        var results = regex.exec(window.location.href.toLower());
        if (results !== null) {
            return results[1];
            return decodeURIComponent(results[1].replace(/\+/g, " "));
        } else {
            return false;
        }
    };
})(jQuery);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM