Regex to replace multiple spaces with a single space

AnApprentice picture AnApprentice · Dec 30, 2009 · Viewed 469.9k times · Source

Given a string like:

"The dog      has a long   tail, and it     is RED!"

What kind of jQuery or JavaScript magic can be used to keep spaces to only one space max?

Goal:

"The dog has a long tail, and it is RED!"

Answer

BalusC picture BalusC · Dec 30, 2009

Given that you also want to cover tabs, newlines, etc, just replace \s\s+ with ' ':

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

If you really want to cover only spaces (and thus not tabs, newlines, etc), do so:

string = string.replace(/  +/g, ' ');