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

时间:2013-10-31 11:24:54

标签: c# asp.net regex c#-4.0 password-protection

我希望在我的项目中使用正则表达式进行验证。

以下是正则表达式的描述:

  1. 长度必须至少为8个字符。

  2. 必须至少包含1个大写字符。

  3. 必须至少包含1个小写字符。

  4. 必须至少包含1个数字。

  5. 可能包含以下字符:

  6.   

    “<> $〜'`!@#%^& *() - + {} [] =:,。?/ | \

    1. 不得使用重复字符。 (aa,11等)

    2. 不得使用超过3个连续字符。 (abcd,wxyz,1234等)

1 个答案:

答案 0 :(得分:10)

你可以试试这个正则表达式:

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

PS:它符合所有条件,因为您编写section e.后我没有包含May contain中提到的字符,而dot会允许所有这些字符。

更新:根据修改过的问题:使用此正则表达式满足条件(a) - (f)

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

我强烈建议不要使用正则表达式来满足条件(g),因为这将是一个非常长的正则表达式。