Javascript 如何替换字符串中的所有空格

Javascript 如何替换字符串中的所有空格,javascript,jquery,string,replace,Javascript,Jquery,String,Replace,我有两个html文本输入,其中用户在第一个文本框中键入的内容需要在第二个文本框中进行反射,而反射时应该将所有空格替换为分号。我对一些现存的东西做了一些替换,第一个空格不是全部,我想我需要使用。Jquery的每个函数,我都使用过。每个函数,但我没有得到结果 HTML: Title : <input type="text" id="title"><br/> Keyword : <input type="text" id="keyword"> 谢谢 var res

我有两个html文本输入,其中用户在第一个文本框中键入的内容需要在第二个文本框中进行反射,而反射时应该将所有空格替换为分号。我对一些现存的东西做了一些替换,第一个空格不是全部,我想我需要使用。Jquery的每个函数,我都使用过。每个函数,但我没有得到结果

HTML:

Title : <input type="text" id="title"><br/>
Keyword : <input type="text" id="keyword">
谢谢

var result = replaceSpace.replace(/ /g, ";");

这里,
//g
是一个正则表达式。标志
g
表示全局。它会导致替换所有匹配项。

纯Javascript,不带正则表达式:

var result = replaceSpacesText.split(" ").join("");

由于javascript replace函数不替换“all”,因此我们可以使用正则表达式进行替换。根据您的需要,我们必须全局替换字符串中的所有空格。正则表达式后面的g字符表示全局替换。seond参数将是替换字符,即分号

替换所有空格的简单代码

var str = 'How are you';
var replaced = str.split(' ').join('');
输出: 您好

非常简单: 只需将所有空格
替换为
-

myString.replace(/ /g,"-")

处理多个空格并将其替换为单个字符

myString.replace(/\s+/g,“-”)


我也遇到了这个问题,对我来说,这很有效(涵盖大多数浏览器):

灵感来源于撞上一些凸起后的这种修剪polyfill:

您可以执行以下修复,以删除带有trim和@symbol的空白:


还值得注意的是:使用
/+/g
仅用一个分号替换空格。使用
/\s/g
替换所有空白字符。使用
/\s+/g
替换所有的空格。也可以这样做:
$(“#关键字”).val($(this).val().split('').join(';')如果您想(出于任何原因)避免regexes@Kay的edit()可能是最好的方法,它可以轻松地处理只生成一个分号的多个空格,并且可能在应用replace之前使用什么。trim()去掉前导和尾随的空格。@JasonSperske,您可以将其更改为
/\s+(?=\s)/g
。(尽管
/(?这是否回答了您的问题?与正则表达式相比速度是否有任何差异?已测试-没有性能差异,至少值得注意。虽然此代码可以回答问题,但提供有关如何和/或为什么解决问题的附加上下文将提高答案的长期价值。@badacadabra upadated:)请在您的回答中描述问题所在,以及此片段将如何解决问题,以帮助其他人理解此答案
var str = 'How are you';
var replaced = str.split(' ').join('');
myString.replace(/ /g,"-")
myString.replace(/[\s\uFEFF\xA0]/g, ';');
var result = string.replace(/ /g, '');  // Remove whitespaces with trimmed value
var result = string.replace(/ /g, '@'); // Remove whitespaces with *@* symbol