Regular expression to allow only one space between words
14,851
Solution 1
Assuming there must be either one or two 'words' (i.e. sequences of non-space characters)
"\s*\S+(\s\S+)?\s*"
Change \S
to [A-Za-z]
if you want to allow only letters.
Solution 2
Pretty straightforward:
/^ *(\w+ ?)+ *$/
Fiddle: http://refiddle.com/gls
Author by
Test_User
Updated on July 18, 2022Comments
-
Test_User almost 2 years
I've a textbox in an ASP.NET application, for which I need to use a regular expression to validate the user input string. Requirements for regex are -
- It should allow only one space between words. That is, total number of spaces between words or characters should only be one.
- It should ignore leading and trailing spaces.
Matches:
- Test
- Test abc
Non Matches:
- Test abc def
- Test abc --> I wanted to include multiple spaces between the 2 words. However the editor ignores these extra spaces while posting a question.