从字符串中删除回车符和空格

时间:2014-04-07 19:24:04

标签: javascript regex space carriage-return

我想从字符串中删除回车符和空格 例如:

var t ="     \n \n    aaa \n bbb \n ccc \n";

我希望得到结果:

t = "aaa bbb ccc"

我使用这个,它删除回车但我还有空格

t.replace(/[\n\r]/g, '');

请有人帮帮我。

4 个答案:

答案 0 :(得分:35)

尝试:

 t.replace(/[\n\r]+/g, '');

然后:

 t.replace(/\s{2,10}/g, ' ');

第二个应该摆脱超过1个空间

答案 1 :(得分:20)

或者你可以使用单一的正则表达式:

t.replace(/\s+/g, ' ')

此外,由于前导和尾随空格,您需要调用.trim()。所以完整的将是:

t = t.replace(/\s+/g, ' ').trim();

答案 2 :(得分:2)

我建议

  • 清除回车=>空间
  • 用一个替换多个空格
  • 清除前导和尾随空格(与jQuery trim()相同)

因此

t.replace(/[\n\r]+/g, ' ').replace(/\s{2,}/g,' ').replace(/^\s+|\s+$/,'') 

答案 3 :(得分:0)

优秀!感谢分享Ulugbek。我使用以下代码从条形码扫描仪中获取逗号分隔值。只要按下条形码扫描仪按钮,回车符和空格就会转换为逗号。

Java脚本:

function KeyDownFunction() {
    var txt = document.getElementById("<%=txtBarcodeList.ClientID %>");
    txt.value = txt.value.replace(/\s+/g, ',').trim();
}

标记:

<asp:TextBox ID="txtBarcodeList" runat="server" TextMode="MultiLine" Columns="100"
                    Rows="6" onKeyDown="KeyDownFunction()"></asp:TextBox>