日期:2014-05-20  浏览次数:20717 次

正则问题求解,撒分
现有需求:至少多位字符;数字、字母(大小写敏感)、所有特殊字符;要求写正则表达式
我的理解是:必须用到组合,分四类,若是排列组合一下,不是要有24种情况嘛(有点吭爹),且应该不可操作,这样的话。
有没有牛人有比较好的方法,求教中...
正则

------解决方案--------------------
google 正则表达式 密码复杂度验证
------解决方案--------------------
string pattern = @"(?s)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!@#$%^&*()_+-=\[\]{};':"",./<>?\\
------解决方案--------------------
]).+$";
------解决方案--------------------
还真漏掉了这种情况的判断,加上就是了:

string C_IDCLIMIT = "^(?!\\d+$)(?![a-z]+$)(?![A-Z]+$)(?![!@#$%^&*()_+\\-=\\[\\]{};':\",./<>?\\
------解决方案--------------------
]+$)(?![\\da-z]+$)(?![\\dA-Z]+$)(?![\\d!@#$%^&*()_+\\-=\\[\\]{};':\",./<>?\\
------解决方案--------------------
]+$)(?![a-zA-Z]+$)(?![a-z!@#$%^&*()_+\\-=\\[\\]{};':\",./<>?\\
------解决方案--------------------
]+$)(?![A-Z!@#$%^&*()_+\\-=\\[\\]{};':\",./<>?\\
------解决方案--------------------
]+$)(?![\\da-zA-Z]+$)(?![\\da-z!@#$%^&*()_+\\-=\\[\\]{};':\",./<>?\\
------解决方案--------------------
]+$)(?![\\dA-Z!@#$%^&*()_+\\-=\\[\\]{};':\",./<>?\\
------解决方案--------------------
]+$)(?![A-Za-z!@#$%^&*()_+\\-=\\[\\]{};':\",./<>?\\
------解决方案--------------------
]+$)[0-9A-Za-z!@#$%^&*()_+\\-=\\[\\]{};':\",./<>?\\
------解决方案--------------------
]+$";