【发布时间】:2012-09-28 15:23:45
【问题描述】:
我正在尝试创建一个 RegExpression 以满足以下条件;
- 至少1个小写
- 至少 1 个大写字母
- 至少一位数
- 没有空格
- 最少 8 个字符
- 无特殊字符
到目前为止,我得到了这个;
^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.\s).*$
但是我无法让它工作。 任何帮助将不胜感激。 我从来不擅长拼图:)
【问题讨论】:
我正在尝试创建一个 RegExpression 以满足以下条件;
到目前为止,我得到了这个;
^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.\s).*$
但是我无法让它工作。 任何帮助将不胜感激。 我从来不擅长拼图:)
【问题讨论】:
你快到了;只是最后的.* 忽略了您的“无空格/特殊字符”规则,而(?=.\s) 前瞻是错误的(您可能是指(?!.*\s) 或(?=\S*$))。
但无论如何您都不需要先行,因为您可以简单地指定允许哪些字符(并在那里强制执行“最少 8 个字符”规则):
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$
但是为什么要阻止用户在密码中使用非字母数字字符呢?
【讨论】: