如何使用jQuery从字符串中删除多个空格

5
我有一个包含3列的Excel电子表格。
    1st        |    2nd    |    3rd 
----------------------------------------
  xxxxxxxx           x        xxxxxxxx

当我复制这三个单元格并将它们粘贴到我的文本框中时,我得到的值看起来像这样:

enter image description here

我需要消除空格,但是我研究过的方法都没有起作用。
以下是我的代码:
$(document).ready(function() {
    $("#MyTextBox").blur(function() {
        var myValue = $(this).val();
        alert(myValue);
        var test = myValue.replace(' ', '');
        alert(test);
        $("#MyTextBox").val(test);

    });
});

当我警告测试时,它看起来与原始内容完全相同,并且MyTextBox的值没有被替换。

我有一个JSFiddle,我正在尝试复制该问题,但在这种情况下,仅替换第一个空格,但新值正在填充到文本框中。

我做错了什么?

任何帮助都将不胜感激。


1
这是你想要的吗?https://jsfiddle.net/n0oot23g/1/?`.replace(/ +/g, ' ')`将多个空格替换为一个。 - Carsten Løvbo Andersen
你需要一个正则表达式,尝试使用:myValue.replace(/\s/g, '')\s代表空格字符,g将替换所有空格。 - n4m31ess_c0d3r
谢谢 @CarstenLøvboAndersen。我甚至没有想到要使用正则表达式!谢谢! - Grizzly
这个链接可能会对你有所帮助:https://dev59.com/BnI-5IYBdhLWcg3wMFMf - Meg
2个回答

10

我已经使用正则表达式替换了您的字符串。这将删除所有空格。

$("#MyTextBox").blur(function(){
    var myValue = $(this).val();
    alert(myValue);
    var test = myValue.replace(/\s/g, '');
    alert(test);
    $("#MyTextBox").val(test);
});

0

使用正则表达式可以替换任意数量的空格。

$(document).ready(function() {
    var str = 'Your string';
    var stringWithoutSpace = str.replace(/\s/g, '')
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接