C# 用于密码验证的正则表达式

C# 用于密码验证的正则表达式,c#,regex,c#-4.0,c#-2.0,C#,Regex,C# 4.0,C# 2.0,我想验证密码。以下是我的要求 最小密码长度:8 最小小写字符数:1 最小大写字符数:1 最小数字字符数:1 如何为此编写正则表达式?我同意@Russell的观点,函数是密码验证的更好选择。很难想象一个正则表达式处理所有这些案件。我想你必须依次检查每一个 正则表达式分别为: {8}至少匹配8个字符 [a-z]匹配单个小写字符 [A-Z]匹配单个大写字符 [0-9]匹配一个数字 话虽如此,在让服务器进行深入验证之前,这些仅对客户端检查有用。您可以使用以下正则表达式: ^(?=.*[a-z])(?

我想验证密码。以下是我的要求

最小密码长度:8
最小小写字符数:1
最小大写字符数:1
最小数字字符数:1


如何为此编写正则表达式?

我同意@Russell的观点,函数是密码验证的更好选择。很难想象一个正则表达式处理所有这些案件。我想你必须依次检查每一个

正则表达式分别为:

  • {8}
    至少匹配8个字符
  • [a-z]
    匹配单个小写字符
  • [A-Z]
    匹配单个大写字符
  • [0-9]
    匹配一个数字

话虽如此,在让服务器进行深入验证之前,这些仅对客户端检查有用。

您可以使用以下正则表达式:

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

请根据您的要求查找以下正则表达式:

(?=^.{8}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ 

我的建议是使用函数ValidatePassword。您可能需要对此进行更新,以包括(例如)密码不能包含用户名。只是一个想法。:)正则表达式并不是完成这项工作的最佳工具。@Jacob:通常,当一个人使用某种只允许正则表达式进行验证的框架时,就会出现这样的请求。我认为一些常见的客户端语言不支持
?=
(零宽度正向前瞻),但经过一些研究,我很高兴看到我错了。这是要使用的正则表达式。