特殊字符替换空间

时间:2016-02-15 11:04:22

标签: javascript jquery variables url connection-string

我传递的变量是真的url,而空格被替换为" +"或"%20"由浏览器自动。重定向页面后,我想正确地拆分这个单词。

前: - http://localhost:8008/Login.aspx?stid=Are你快乐

加载登录页面后自动转换,

http://localhost:8008/Login.aspx?stid=Are+You+Happy

http://localhost:8008/Login.aspx?stid=Are%20You%20Happy

如何在加载页面后获得此stid变量

你快乐吗

有没有办法使用javascript或jquery?

当我发送参数

时,我想要相同的结果

http://localhost:8008/Login.aspx?stid=Are+You+Happy

我想要的结果也应该跟随。

为+你+快乐

这两个功能都可以通过javascript或jquery完成吗?

2 个答案:

答案 0 :(得分:4)

//decode function
function decode(encodedStr) {
    return decodeURIComponent(encodedStr.replace(/\+/g,  " "));
}
//encode function
function encode(unencoded ) {
    return encodeURIComponent(unencoded).replace(/'/g,"%27").replace(/"/g,"%22");   
}


您还可以使用JQuery.params()

var myObject = {
    stid: 'You are happy',
    b: [ 1, 2, 3 ],
    .......
};
var recursiveEncoded = $.param( myObject );
var recursiveDecoded = decodeURIComponent( $.param( myObject ) );

alert( recursiveEncoded );
alert( recursiveDecoded );

答案 1 :(得分:2)

这应该可以解决问题

var url = "http://localhost:8008/Login.aspx?stid=Are%20You%20Happy",
    decoded_url = decodeURIComponent(url.replace(/\+/g,  " "));  
    
alert(decoded_url.split('stid=')[1]);