首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-07-20 
求正则达人一条正则本帖最后由 davidcoffee 于 2013-07-15 18:48:36 编辑密码6到20位可以包含!#$%等特殊符

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

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

热点排行