admin管理员组

文章数量:1317906

I am using this expression: /\W+/g to match all characters that are not numbers, letters and spaces. It seems to be including spaces. How would I build a regex that did not include spaces?

I am using this expression: /\W+/g to match all characters that are not numbers, letters and spaces. It seems to be including spaces. How would I build a regex that did not include spaces?

Share Improve this question edited Jan 11, 2014 at 21:19 nhahtdh 56.8k15 gold badges129 silver badges164 bronze badges asked May 28, 2011 at 17:22 chromedudechromedude 4,30216 gold badges69 silver badges96 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 2
/[^a-z0-9\s]+/ig

Explanation:

[^   Character class which matches characters NOT in the following class
a-z  All lowercase letters of the alphabet
0-9  All numbers
\s   Whitespace characters
]    End of the character class

i   Case-insensitivity to match uppercase letters

A more accurate wording for \W is any Non-Alphanumeric character. \s is for Any Whitespace.

So, it would be something like this: [^\s]

\W means "non-word characters", the inverse of \w, so it will match spaces as well. I'm a bit surprised it doesn't match numbers, though.

本文标签: Does the Javascript regex pattern W include spacesStack Overflow