求正则达人一条正则
本帖最后由 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)表示 忽略大小写
上边的,可能原因是一些特殊字符要转义
------解决方案--------------------其实本例中不应该忽略大小写