如何可靠地删除javascript字符串中的新行?

时间:2012-03-21 06:55:15

标签: javascript

我正在尝试删除javascript字符串中的新行。 http://jsfiddle.net/muT5V/

但是,根据此代码生成的警告框(包含jQuery)仍保留新行。

我的javascript:

var s = $('#aDivWithContent').html();
s = s.replace('\n', '').replace('\s', '');
alert(s);​

我的HTML:

<div id="aDivWithContent">
    <ul>
        <li>foo</li>
        <li>bar</li>
        <li>baz</li>
    </ul>
</div>​

为什么?

3 个答案:

答案 0 :(得分:4)

尝试:

s = s.replace(/(\r\n|\n|\r|\t|\s)/gm,"");

答案 1 :(得分:2)

您需要带有g选项的RegExp和\ r \ n清理

var r = new RegExp(“\ r”,“g”);

var n = new RegExp(“\ n”,“g”);

str = str.replace(r,'')。replace(n,'');

答案 2 :(得分:0)

原因是,replace()只替换找到的一个。 如果您使用RegEx作为replace()的第一个参数,那么将替换所有找到的结果。

var s = $('#aDivWithContent').html();
s = s.replace(new RegExp("\n", "g"), 'a');
s = s.replace(new RegExp("\s", "g"), 'b');

alert(s);