密码的正则表达式必须包含 8 个字符,2 个小写或大写字母和 1 个特殊字符 '*' 5 位数字

Posted

技术标签:

【中文标题】密码的正则表达式必须包含 8 个字符,2 个小写或大写字母和 1 个特殊字符 \'*\' 5 位数字【英文标题】:Regex for Password must contain 8 characters, 2 letter both lower or uppercase letters and one special character ' * ' 5 digit number密码的正则表达式必须包含 8 个字符,2 个小写或大写字母和 1 个特殊字符 '*' 5 位数字 【发布时间】:2015-05-26 09:40:10 【问题描述】:

我想为密码创建一个表达式,如下所示:

密码的正则表达式必须包含 8 个字符,以 2 个小写或大写字母开头,包含一个特殊字符 * 和一个 5 位数字。

例如:az*12345

必须以 2 个字符开头; 仅包含单个*; 以 5 位数字结尾。

我已经尝试过这种模式: (?=(.*[^a-zA-Z])2)(?=.*[*]1)(?=(.*\d)5).8$

但是,它产生的结果与上面的正则表达式几乎相同。它以任何字符开头,但我想要上面提到的确切模式。我知道我很接近它。请建议我该怎么做。

【问题讨论】:

regex101.com/r/fH8jW4/2? 特殊字符必须是星号 (*) 吗?那么^[a-zA-Z]2\*\d5$ 还不够吗? 如果您不希望它以任何字符开头,请不要让它以.* 开头。这意味着任何字符零次或多次。 感谢保罗.. 太棒了.. 它有效.. 谢谢 nick.. 这就是解决方案 【参考方案1】:

如果您只想匹配 [2-letters]+[*]+[5-digits] 模式,这就是您要查找的内容:

^[a-zA-Z]2\*[0-9]5$.

【讨论】:

以上是关于密码的正则表达式必须包含 8 个字符,2 个小写或大写字母和 1 个特殊字符 '*' 5 位数字的主要内容,如果未能解决你的问题,请参考以下文章

密码强度正则表达式 – 必须包含大写字母,小写字母和数字,至少8个字符等

用于密码的javascript正则表达式,包含至少8个字符、1个数字、1个大写和1个小写[重复]

如何实现密码正则表达式?

20个正则表达式

20个常用正则表达式

20个常用正则表达式