RegEx强密码

时间:2010-03-06 21:03:33

标签: asp.net regex

我有以下密码要求:

1)长度应为6-15个字符
2)应该至少有一个小写字符
3)至少应该有一个大写的字符
4)至少应该有一个数字
5)至少应该有一个特殊字符
6)不应该有空格

有人可以建议我这个要求的RegEx吗?

4 个答案:

答案 0 :(得分:11)

不确定我会使用正则表达式:正则表达式并不总是适合任何可能的工作的正确工具...

在这里,您指定了6个要求的列表;那么,为什么不只是使用6种不同的测试,每个要求一个? 我应该补充说,这6个不同的测试真的很简单 - 而正则表达式会更难写(你要求帮助 - 你可能没有6个测试)

这会让你的代码更容易理解,我敢打赌;-)
还有:更容易维护;并且更容易添加/删除/更改与其中一个要求对应的条件之一。

答案 1 :(得分:9)

我不完全确定“特殊字符”是什么意思所以我将其解释为\W,但如果您愿意,可以更改此内容:

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W)\S{6,15}$

答案 2 :(得分:3)

Regexlib.com为您提供了大量示例,并提供了可搜索的注册数据库。

答案 3 :(得分:1)

1 => /^.{6,15}$/
2 => /[a-z]/
3 => /[A-Z]/
4 => /\d/
5 => /[#{special_chars_for_regex}]/
6 => /^\S*$/