Regex 如何在没有特殊字符的情况下执行用于密码验证的正则表达式?

Regex 如何在没有特殊字符的情况下执行用于密码验证的正则表达式?,regex,Regex,用于密码的正则表达式,最小长度为7,不带特殊字符,至少一个大写字母和一个数字 就我而言,正则表达式满足: Killer1-至少一个大写字母(K),至少一个数字(1),最小长度-7 Melbourne123-有效 London24-有效 提前谢谢 最小长度7 毫不奇怪,这一部分是最简单的。您只需使用: .{7,} 为了在单个正则表达式中执行其他检查,您需要使用以下方法: \A(?=.*[A-Z])(?=.*\d)[a-zA-Z0-9]{7,}\z 至少有一个大写字母 至少一个数字 没有特殊字符

用于密码的正则表达式,最小长度为7,不带特殊字符,至少一个大写字母和一个数字

就我而言,正则表达式满足:

Killer1-至少一个大写字母(K),至少一个数字(1),最小长度-7

Melbourne123-有效

London24-有效

提前谢谢

最小长度7

毫不奇怪,这一部分是最简单的。您只需使用:

.{7,}
为了在单个正则表达式中执行其他检查,您需要使用以下方法:

\A(?=.*[A-Z])(?=.*\d)[a-zA-Z0-9]{7,}\z
至少有一个大写字母

至少一个数字

没有特殊字符

如果可能的话,我强烈反对这一要求。添加此选项不会提高安全性,只会让用户感到沮丧。但是,如果你真的必须这样做,那么:

(?!.*[^a-zA-Z0-9])
(根据“特殊”字符的确切含义,酌情修改上述内容。)

将所有这些放在一个模式中,最终答案是:

\A(?=.*[A-Z])(?=.*\d)(?!.*[^a-zA-Z0-9]).{7,}
您还可以通过将“无特殊字符”和“最小长度”要求合并到单个正则表达式条件中来稍微简化此正则表达式,如下所示:

\A(?=.*[A-Z])(?=.*\d)[a-zA-Z0-9]{7,}\z

(注意此处额外使用了
\z
锚定,以检查所有密码字符是否都在白名单“非特殊”中。)字符。

纯代码编写请求与堆栈溢出无关——我们希望这里的问题与特定的编程问题有关——但我们很乐意帮助您自己编写!告诉我们,以及您的困境。这也将帮助我们更好地回答您的问题。
^(?=\w*([A-Z]\w*[0-9]|[0-9]\w*[A-Z])\w*。{7,}$
Hi thomas@ThomasAyoub我对web开发非常陌生。我理解你的观点。但我没有别的办法找到如何为某个条件构建正则表达式,所以我发表了文章。谢谢你的回复。@horcruxThanks tom。它解决了这个问题
\A(?=.*[A-Z])(?=.*\d)[a-zA-Z0-9]{7,}\z