在生成的URL中将%替换为%20

时间:2014-08-21 08:01:38

标签: javascript jquery html forms

我正在使用以下HTML代码将用户连接到聊天,但我需要在生成的网址中将任何空格变为%20而不是+,因为+是昵称中的有效字符,因此有人输入​​{输入中的{1}}将在聊天中变为Paul John,因此需要%20,因为它被识别为空格。

是否可以使用JavaScript / jQuery和一些示例来执行此操作?

HTML

Paul+John

提前致谢,

2 个答案:

答案 0 :(得分:2)

尝试使用encodeURIComponent(str)功能。

var test = "Paul John";
var result = encodeURIComponent(test );
//result: "Paul%20John"

要在提交表单之前替换内容,请使用此jquery代码:

$(document).ready(function(){
    $('.form-horizontal').submit(function(){
        var encoded = encodeURIComponent($('#nickname').val().trim());
        $('#nickname').val(encoded );
    });
});

答案 1 :(得分:1)

这是因为' +'表示使用application / x-www-form-urlencoded内容时的空格。当您实际提交表单并因此发送表单文件时,这是正确的。如果您输入' +'在数据中它也应该被编码(到'%2B'),允许你将它与任何' +'区分开。字符作为表单编码的一部分添加