Javascript 将参数中的空格删除到JS函数中

Javascript 将参数中的空格删除到JS函数中,javascript,Javascript,我试图使用trim()方法将HTML表单传递到函数的参数中的空格删除。然后,该函数将列出与该邮政编码匹配的地址 var postCodes = { N48LP: { address: ['59, White Gardens', '54, White Gardens', '52, White Gardens', '55, White Gardens'] } }; function searchCode(arg2){ arg2.trim(); if(typeof postCod

我试图使用trim()方法将HTML表单传递到函数的参数中的空格删除。然后,该函数将列出与该邮政编码匹配的地址

var postCodes = {
  N48LP: {
    address: ['59, White Gardens', '54, White Gardens', '52, White Gardens', '55, White Gardens']
  }
};

function searchCode(arg2){
  arg2.trim();
if(typeof postCodes[arg2] === 'undefined') {
  document.getElementById('oldpa').innerHTML = 'Postcode not found';
} else {
// code here which prints the list of addresses
     }}};

这不管用。如果“N48LP”有效,“N4 8LP”或“N 48LP”将导致“未找到邮政编码”。谁能告诉我为什么?非常感谢。

您正在寻找:
arg2.split(“”)。join(“”)
<代码>修剪函数仅从字符串的开头和结尾删除空格

尝试替换而不是修剪

arg2.replace(/\s+/, ""); 

代码中有几个问题。一种是不在适当的位置修剪字符串,这意味着它不会改变原始字符串。第二个是不删除字符之间的空格

要解决此问题,您可以与正则表达式一起使用,该正则表达式将所有出现的空格替换为空字符串,然后将该值指定为检查
邮政编码
对象时要使用的索引

var邮政编码={
N48LP:{
地址:['59,白色花园','54,白色花园','52,白色花园','55,白色花园']
}
};
函数搜索代码(arg2){
//请注意,您必须使正则表达式执行
//一个全局搜索,使其同时起到修剪的作用
var index=arg2。替换(/\s+/g',);
if(邮政编码类型[索引]=“未定义”){
document.getElementById('oldpa')。innerHTML+='Postcode not found';
}否则{
//此处的代码用于打印地址列表
document.getElementById('oldpa')。innerHTML+=[
“输入:”,arg2.replace(/\s+/g)、“”,
'',JSON.stringify(邮政编码[index],0,4),''
].加入(“”);
}
}
搜索码('n48lp');
搜索码('N48LP');
搜索码('n48lp')

问题就在这里
arg2.trim()。正如@ DontRelaX所说的:“代码>三”(代码)>方法不删除字符串中间的空白。另一个问题是,考虑到这将是一个问题,
trim()
返回修改过的字符串,但不影响sting的值。

trim()只删除字符串开头和结尾的空格,而不删除字符串中间的空格。如果确实需要,请使用split/join或regexps删除所有空白。有关详细信息,请参阅此答案: