javascript - 查询字符串不能小写

标签 javascript

我正在尝试小写查询字符串并获取值,即使 URL 使用大写字母也是如此。

这是可行的 - 我可以获得值(value):

 ?serialid=1234 

这不起作用 - 我无法获取值(大写 S):

 ?Serialid=1234

我想匹配这两种情况。

我的脚本:

 $(document).ready(function () {

     var a = getQueryString("serialid");
     $('#SerialIdHP').val(a);
 });

 function getQueryString(key) {

     var vars = [],
         hash;
     var hashes = (window.location.href.slice(window.location.href.indexOf('?') + 1).split('&')).toString().toLowerCase();

     for (var i = 0; i < hashes.length; i++) {
         hash = hashes[i].split('=');
         vars.push(hash[0]);
         vars[hash[0]] = hash[1];
     }
     return vars[key];
 }

最佳答案

使用toLowerCase()转换键

function getQueryString(url, key) {
    var vars = [],
        hash;
    var hashes = (url.slice(url.indexOf('?') + 1).split('&'));

    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(hash[0].toLowerCase());
        vars[hash[0].toLowerCase()] = hash[1];
    }
    return vars[key.toLowerCase()];
}

var url = "http://something.com?serialid=1234 "
var a = getQueryString(url, "SerialId");
alert(a);

演示:http://jsfiddle.net/T9BsR/1/

关于javascript - 查询字符串不能小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18506137/

相关文章:

javascript - 根据输入将字符串分解为多个对象

javascript - jQuery fn 中的 "prototype"? + jquery 函数中的普通 javascript 代码?

javascript - 如何组合目标数组在javascript中保存相同的键

javascript - RxJS Observable.fromEvent 链为每个订阅者触发

javascript - 从 javascript 循环 "when it happens"写入 html

javascript - TypeScript:类中动态声明的方法

javascript - AngularJS 表单拒绝验证提交

javascript - 使用共享存储模式与 vue-loader 的 Vue js 组件交互

javascript - 使用简单的 javascript/jQuery UI 元素

javascript - Jquery animate - 在动画完成之前执行的回调