3

我正在寻求有关用户名的 JavaScript 正则表达式的帮助。基本上,我需要允许使用字母 AZ、数字、句点、破折号、下划线、美元符号、at 符号、星号和感叹号,并且用户名最长可达 30 个字符。例如,不应允许使用空格或逗号。

允许的字符:

[a-zA-Z0-9]
.
-
_
$
@
*
!
  • 用户名 = 通过
  • 用户名 = 失败
  • 用户,名称 = 失败
  • 用户名eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee =失败
4

2 回答 2

11

以下应该有效:

/^[a-zA-Z0-9.\-_$@*!]{3,30}$/

请注意,我还强制要求最小长度为 3 个字符,将其更改为您实际想要的任何内容。

JSFiddle:http: //jsfiddle.net/5F5cQ/1/

于 2013-04-10T18:38:34.150 回答
3

您可以使用^[-\w\.\$@\*\!]{1,30}$, where130are 可以更改的界限,具体取决于密码至少需要多短。

\w提供数字、字母和下划线覆盖,然后是您允许的所有特殊字符。确保正确转义特殊字符,因为其中很多用于实际的正则表达式解析。

使用您提供的示例(和一些额外的示例),您可以看到正则表达式在此处工作。

于 2013-04-10T18:40:45.590 回答