AnApprentice AnApprentice - 7 months ago 156
Javascript Question

Regex to replace multiple spaces with a single space

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

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, ' ');