regex - replace multi line breaks with single in javascript

Try this:

text.replace(/\n\s*\n/g, '\n');

This basically looks for two line breaks with only whitespace in between. And then it replaces those by a single line break. Due to the global flag g, this is repeated for every possible match.

edit:

is it possibile to leave a double line break instead of a single

Sure, simplest way would be to just look for three line breaks and replace them by two:

text.replace(/\n\s*\n\s*\n/g, '\n\n');

If you want to maintain the whitespace on one of the lines (for whatever reason), you could also do it like this:

text.replace(/(\n\s*?\n)\s*\n/, '$1');

myText = myText.replace(/\n{2,}/g, '\n');​​​​​​​

See demo