JavaScript RegExp \s Metacharacter
Last Updated :
05 Aug, 2025
The \s metacharacter in JavaScript regular expressions matches any whitespace character. This includes spaces, tabs, form feeds, line breaks, and other whitespace characters as defined in Unicode.
JavaScript
let regex = /\s/;
let str1 = "Hello World";
let str2 = "HelloWorld";
console.log(regex.test(str1));
console.log(regex.test(str2));
- In str1, the space between "Hello" and "World" is a match for \s.
- In str2, there are no whitespace characters, so the test fails.
Syntax:
/\s/
Key Points
- Matches:
- Spaces ( )
- Tabs (\t)
- Line breaks (\n, \r)
- Form feeds (\f)
- Vertical tabs (\v)
- Non-Whitespace Match: Use \S (uppercase S) to match any non-whitespace character.
Real-World Examples
1. Detecting Whitespace
JavaScript
let regex = /\s/;
let str = "Find whitespace in this string.";
console.log(regex.test(str));
The \s metacharacter detects the presence of any whitespace character.
2. Splitting by Whitespace
JavaScript
let str = "Split this text by spaces, tabs, or line breaks.";
let regex = /\s+/;
console.log(str.split(regex));
Output[
'Split', 'this',
'text', 'by',
'spaces,', 'tabs,',
'or', 'line',
'breaks.'
]
The \s+ pattern splits the string into parts, treating multiple consecutive whitespace characters as a single separator.
3. Removing Extra Whitespace
JavaScript
let str = " Remove extra spaces ";
let regex = /\s+/g;
console.log(str.trim().replace(regex, " "));
OutputRemove extra spaces
Here, \s+ matches one or more consecutive whitespace characters, which are replaced by a single space.
4. Validating Input Without Whitespace
JavaScript
let regex = /\s/;
let username = "NoSpacesAllowed";
if (regex.test(username)) {
console.log("Invalid username. It contains spaces.");
} else {
console.log("Valid username.");
}
The \s metacharacter is useful for ensuring inputs like usernames or passwords do not contain spaces.
5. Matching Whitespace in Multiline Text
JavaScript
let regex = /\s/g;
let text = "Line 1\nLine 2\tTabbed";
console.log(text.match(regex));
Output[ ' ', '\n', ' ', '\t' ]
The \s metacharacter detects all whitespace characters, including line breaks and tabs, in the text.
Why Use the \s Metacharacter?
- Universal Whitespace Detection: Matches all types of whitespace characters.
- Flexible Text Parsing: Ideal for splitting, trimming, or cleaning strings with irregular spacing.
- Input Validation: Ensures text fields meet requirements like "no spaces" or "exact spacing."
- Data Formatting: Useful for processing multiline strings, log files, or structured data.
Conclusion
The \s metacharacter is a versatile tool for working with spaces and other whitespace characters, making it essential for string manipulation and validation in JavaScript.
Recommended Links:
Explore
JavaScript Basics
Array & String
Function & Object
OOP
Asynchronous JavaScript
Exception Handling
DOM
Advanced Topics