无法使RegularExpressionValidator工作

时间:2014-01-27 13:09:44

标签: c# regex visual-studio

使用C#atm,并希望在密码上使用RegularExpressionValidator。 我想在输入密码时需要以下内容:

  • 最少6个字符
  • 最少2个数字
  • 允许的字母数量没有限制

  • TEST12
  • t1es2t
  • 12test
  • tt123est
  • t111test

是应该允许的密码的例子。

我尝试过som连击,但是现在我得到了这个:

(([aA-zZ]*)([0-9]{2}){6,}

但那不起作用......

1 个答案:

答案 0 :(得分:5)

很难将所有要求合并为一个正则表达式。这里的技巧是使用正向前瞻断言来检查总长度。

(?=^.{6,})(?i)[a-z\d]*?\d[a-z\d]*?\d[a-z\d]*

here on Regexr

(?=^.{6,}) lookahead assertion,检查字符串的长度是否至少为6个字符。

(?i) inline modifier,使字母与案例无关。

[a-z\d]*?\d[a-z\d]*?\d[a-z\d]*个字母或数字,需要的数字,字母或数字,需要的数字,更多可能的字母或数字。