当前位置: 首页 > 知识库问答 >
问题:

使用正则表达式验证密码

吕骞尧
2023-03-14

我需要检查密码是否至少包含:

  • 一个号码
  • 一个小写字符
  • 一个大写字符
  • 一个特殊符号(.,@etc)

我在C#中有以下内容:

@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]"

但这并不有效:

"Ab!123"

我错过了什么?

更新

我正在将其与系统.组件模型.数据注释一起使用来验证模型属性:

  [RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]"]    
  public String Password { get; set; }

共有1个答案

岳均
2023-03-14

简单明了:你没有量词。用

@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]+"

相反(请参阅表达式末尾的 ?)请参阅有关 regex101.com 的工作演示。
与注释相反,点不需要在方括号 ([]) 中转义。此外,您仍然可以优化表达式:

@"^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]+"
 类似资料:
  • 我正在编写一个正则表达式来验证密码。条件是: > 密码必须至少包含两个特殊字符 密码必须至少有八个字符长 我可以使用以下正则表达式确保至少有8个字符、至少一个字母表、至少一个数字和至少一个特殊字符: 我无法获得的唯一条件是必须至少有两个特殊字符(上面的Reg exp是至少一个特殊字符)。有人知道这件事吗? 提前谢谢。

  • 有人能帮我理解为什么这不起作用吗 出于某种原因,它接受包含大小字母的密码,并验证包含数字和小写字母的密码。但它应该只验证是否满足了for规则中的3条。

  • 问题内容: 谁能帮助我创建用于密码验证的正则表达式。 条件为“密码必须包含8个字符和至少一个数字,一个字母和一个唯一字符,例如 问题答案:

  • 我需要使用以下规则验证密码: 密码必须包含6-12个字符,并且至少包含以下两个字符:大写字母、小写字母、数字或符号。以下是我目前的正则表达式: 我在纠结如何提出“至少”的条件。

  • 本文向大家介绍最新密码验证正则表达式,包括了最新密码验证正则表达式的使用技巧和注意事项,需要的朋友参考一下 正则表达式验证密码功能在项目中经常被使用到,但是很多朋友还是不大会使用密码正则表达式进行验证,本文小编为大家整理了php密码验证正则表达式、python密码强度正则,当然还有大家常用到的js正则表达式,希望大家喜欢。 刚开始复习一下,什么是正则表达式? 在编写处理字符串的程序或网页时,经常有

  • 我有以下密码验证规则: 至少8个字符 我试图找到这个规则的正则表达式模式,最接近的是: 但这并不适用于所有规则。 我对正则表达式是新手,如果有任何可以学习正则表达式的资源,我将不胜感激。