检测密码是否能过强度检测(正则表达式检测)

/// <summary>
        /// 检测密码是否能过强度检测(正则表达式检测)
        /// 要求密码长度最少8位最多25位,包含至少1个特殊字符,2个数字,2个大写字母和一些小写字母
        /// </summary>
        /// <param name="password">密码明文</param>
        public static bool CheckPasswordStrangth(string username, string password) {
            if (username.Equals(password, StringComparison.OrdinalIgnoreCase)
                || password.ToLower().Contains(username.ToLower())) {
                return false;
            }
            if (password.Length <= 8) {
                return false;
            }
            /* 要求密码长度最少8位,包含至少1个特殊字符,1个数字,1个大写字母和一些小写字母 */
            string regexText = @"(?=^.{8,25}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[A-Z]){1})(?=(?:.*?[!@#$%*()_+^&}{:;?.]){1})(?!.*\s)[0-9a-zA-Z!@#$%*()_+^&]*$";
            System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(regexText);
            return regex.IsMatch(password);
        }
posted @ 2012-08-19 22:17  安度  阅读(1046)  评论(0编辑  收藏  举报