我正在使用以下HTML代码将用户连接到聊天,但我需要在生成的网址中将任何空格变为%20而不是+,因为+是昵称中的有效字符,因此有人输入{输入中的{1}}将在聊天中变为Paul John
,因此需要%20,因为它被识别为空格。
是否可以使用JavaScript / jQuery和一些示例来执行此操作?
Paul+John
提前致谢,
保
答案 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'),允许你将它与任何' +'区分开。字符作为表单编码的一部分添加