读书人

求正则达人一条正则解决方案

发布时间: 2013-07-20 11:07:48 作者: rapoo

求正则达人一条正则
本帖最后由 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)表示 忽略大小写

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

读书人网 >C#

热点推荐