我需要验证一个字符串是否包含最少 6 个字符和最多 8 个字符,且不包含空格。字符串中可以使用任何字母数字字符。
我将 asp.net 与 C3 一起使用,为此我将使用正则表达式验证。
正则表达式^\w{6,8}$
应该做的工作:
^
- 字符串的开始\w
- 单词字符
{6,8}
- 6 到 8 次$
- 字符串结束正如 Ianzz 在评论中所说,您真的不应该限制用户可以用作密码的内容:
不要限制密码中允许的字符或最大长度;只检查最小长度。
这实际上是一个非常简单的匹配表达式。如果您的正则表达式引擎不支持间隔,您可能需要稍微调整一下。
/(?x)
^ # start of string
[[:alnum:]] # POSIX alphanumeric class
{6,8} # minimum 6 matches, maximum 8
$ # end of string
/
这在 Ruby REPL 中对我有用。您的正则表达式引擎的语法可能会有所不同,但这应该会让您指向正确的方向。
由于您还没有展示任何已完成的工作,我将把这些部分给您,但您可以自己弄清楚它们是如何组合在一起的。
字母数字字符可以表示[a-zA-Z0-9]
或通常也表示\w
(编辑此部分,因为下面的正确评论,mea culpa)
句首用 ^ 标记,结尾用 $
6-8 的数量限定词在需要被明显数字替换的地方{[min],[max]}
表示为这样[min]
[max]
根据正则表达式的类型,您可能还需要用边界将其括起来,约定通常有利于/
您的正则表达式 /[regexp here]/
有了这些,您可以将您的表情拼凑在一起。玩得开心。:)
您没有指定您使用的是哪种语言,但在这种情况下应该无关紧要。
我假设 Javascript,所以那将是:
/^[a-z0-9]{6,8}$/i
//i 是忽略大小写。您还可以使用:
/^[a-zA-Z0-9]{6,8}$/