如何使用Jquery从查询字符串中删除空格?

时间:2013-07-03 09:48:53

标签: jquery query-string querystringparameter

我在jquery中使用查询sting

使用

获取网址值
    function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
    hash = hashes[i].split('=');
    vars.push(hash[0]);
    vars[hash[0]] = hash[1];
}
return vars;

这里当我将查询字符串传递给URL时,它将空格显示为%20,当我从URL获取值时,我将名称的值作为名称%20Name格式

我应该怎样做以获取空间名称作为分隔?

3 个答案:

答案 0 :(得分:2)

您需要decodeURIComponent() Javascript功能:

decodeURIComponent("Name%20Name") // "Name Name"
  

解码先前由encodeURIComponent或类似例程创建的统一资源标识符(URI)组件。

有关详细信息,请参阅the documentation

答案 1 :(得分:1)

使用原生Javascript函数unescape,所有主流浏览器都支持它:

var a = "Name%20Name";
window.unescape(a);

答案 2 :(得分:0)

您可以使用decodeURIComponent();

将任何已编码的网址转换为“正常”
function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(decodeURIComponent(hash[0]));
        vars[hash[0]] = hash[1];
    }
    return vars;
}