URL编码,以加号编码空格



我有一个应用程序,需要签署表单数据之前,它被发送到服务器。在签名方法中,我必须用javascript转义所有表单输入值,对它们进行签名,然后将签名数据发送到服务器进行交叉匹配。远程服务器正在转义表单数据,以加号编码所有空格。

所以如果我的表单数据是:

this is test :)

编码输出应为

this+is+test+%3A)

但是我测试了javascript encodeuriccomponent, encodeURI和escape。它们都给出了以下输出:

this%20is%20test%20%3A)

谁知道哪个函数适合这个?

您可以直接自己进行替换:

var encoded = escape(s).replace(/%20/g, "+");
alert(encoded); // outputs "this+is+test+%3A)"

最新更新