我正在尝试小写查询字符串并获取值,即使 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);
关于javascript - 查询字符串不能小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18506137/