正则表达式 - 包含空格和特殊字符

4

我正在使用以下正则表达式^[a-zA-Z0-9]\s{2,20}$来处理输入内容。

  • 字母 A - Z
  • 字母 a - z
  • 数字 0 - 9

输入的长度必须至少为2个字符,最多为20个字符。

我还想在输入中启用空格,但只能是空格,不能包括换行等其他字符。

最后一个问题是,我想启用诸如!@#$%^&*)(等字符。

5个回答

4
像这样将字符添加到正则表达式代码中~
^[a-zA-Z0-9 !@#$%^&*)(]{2,20}$

\s 不仅表示空格,还包括其他空白字符。


还有一个问题,如果可以的话:我该如何将字符'撇号添加到特殊字符中? - user330885
@Guy Dor - 请尝试使用^[a-zA-Z0-9 !@#$%^&*)(']{2,20}$ - Monday

1
尝试使用正则表达式^[a-zA-Z0-9 ]{2,20}$
你确定你的原始表达式有效吗?量词{2,20}只应用于\s,而不是应用于[]中的字符集。

0

所有特殊字符、字符、数字和空格

[A-Za-z0-9-.& ,+!@#$%\^*();\/|<>"'?=:\t_\n[]{}~`]


0
关于您问题的第二部分,只需将这些字符放在[]中即可,无需转义。

0

*** 正则表达式适用于所有类型的特殊字符和普通字符,它们之间还可以有空格。

在某个变量中声明以下内容并执行您的任务:

/^[a-zA-Z0-9 !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]{2,20}$/

*** 匹配所有类型的特殊字符(包括空格)的正则表达式:

/^[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]{2,20}$/

(答案经过尝试和测试!)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接