日期:2014-05-17  浏览次数:20949 次

求正则达人一条正则
本帖最后由 davidcoffee 于 2013-07-15 18:48:36 编辑
密码6到20位可以包含!#$%等特殊符号必须包含大小英文和数字
例如aa123bb,aa123,123aa这种都行,不允许纯数字或者纯大小写英文,现在写的那种是
^[\@A-Za-z0-9\!\#\$\%\^\&\*\.\~]{6,20}$但是不能满足字母英文同时存在的要求,求个正则达人给个思路~3Q~
正则 密码

------解决方案--------------------
string pattern = @"(?i)^(?![a-z]+$)(?!\d+$)[a-z\d!@#$%^&*()]+$";

------解决方案--------------------
思路上,就是采用排除法,先排除是全是英文的,再排除全是数字的情况,最后再排除全是特殊字符的
剩下的肯定是你想要的
2楼的基本上已经可以了,不过最好加个排除特殊字符的:
string pattern = @"(?i)^(?![a-z]+$)(?!\d+$)(?![!@#$%^&*()]+$)[a-z\d!@#$%^&*()]+$";

------解决方案--------------------
(?i) 忽略大小写
------解决方案--------------------
(?i)表示 忽略大小写

 上边的,可能原因是一些特殊字符要转义
------解决方案--------------------
其实本例中不应该忽略大小写