关于javascript:如何替换字符串中的所有空格

How to replace all spaces in a string

我有两个HTML文本输入,其中用户在第一个文本框中输入的内容需要反映在第二个文本框中,而反映它时应该将所有空格替换为分号。我做了一些现存的,它代替了第一个空格,不是所有的,我想我需要使用。

HTML:

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

jQuery:

1
2
3
4
5
6
7
8
$('#title').keyup(function() {
    var replaceSpace = $(this).val();

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

        $("#keyword").val(result);

});

谢谢。


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

这里,/ /g是一个regex(正则表达式)。标志g表示全球。它将替换所有匹配项。


纯javascript,无正则表达式:

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


替换所有空格的简单代码

1
2
var str = 'How are you';
var replaced = str.split(' ').join('');

输出:你怎么了?


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

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

http://jsfiddle.net/ac5zw/340/


非常容易:

只需使用此选项将所有空白的替换为-

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

1
2
3
4
5
6
7
8
    $('#title').keyup(function () {
        var replaceSpace = $(this).val();

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

        $("#keyword").val(result);

    });

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


我也遇到了这个问题,对我来说,这已经奏效了(覆盖了大多数浏览器):

1
myString.replace(/[\s\uFEFF\xA0]/g, ';');

灵感来源于这个修剪后的polyfill撞击一些颠簸:https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_-objects/string/trim_polyfill