正则表达式:至少一个大写字母、一个小写字母、一个数字,没有其他字符。

3
我想要一个用于密码匹配的正则表达式,以确保密码包含以下内容:
  1. 至少一个数字
  2. 至少一个大写字母
  3. 至少一个小写字母
  4. 仅包含数字和字母
长度至少为6个字符,最多为15个字符。
我尝试了这个正则表达式^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{6,15}$,但它没有应用第4项检查,并且匹配包含特殊字符的密码。
还有一些其他问题可以解决缺少某些明确字母的问题。正如您在我接受的答案中看到的那样,该正则表达式与我所寻找的不太相似。

如果你正在编写一个密码验证脚本,请不要将以下内容作为要求。请参考 https://xkcd.com/936/ 了解原因。 - undefined
好的要求是什么?我认为一个大写字母和一个数字并不会让密码难以记住。 - undefined
密码长度非常重要。6个字符的最低要求太低了。来源:https://security.stackexchange.com/questions/29836/what-are-good-requirements-for-a-password 您还需要避免鼓励用户重复使用旧密码和/或使用容易猜测的密码,比如Password1。 - undefined
你在使用什么编程语言? - undefined
1个回答

4

使用.{6,15},您指定了“任意字符6到15次”。要限制为“仅数字和字母”,请将.更改为[a-zA-Z0-9]

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])[a-zA-Z0-9]{6,15}$

Demo: https://regex101.com/r/lfgL85/1


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