public override bool Symbols(HandleRegex handleRegex, out int quantity) { bool result = false; Regex regex = new Regex(handleRegex.Pattern); MatchCollection match = regex.Matches(Password); quantity = match.Count; if (handleRegex.MaxQuantity == null) { if (quantity >= handleRegex.MinQuantity) { result = true; } } else { if (quantity >= handleRegex.MinQuantity & quantity <= handleRegex.MaxQuantity) { result = true; } } Message(handleRegex.Message, result, quantity); return(result); }
//// 1. Длина от 8 до 32-х символов //public abstract bool Length(); //// 2. Два и более символов алфавита в верхнем регистре //// 3. Два и более символов алфавита в нижнем регистре //public abstract bool Symbols(int minQuantity, bool upperCase); //// 4. Две и более цифры //public abstract bool Digits(int minQuantity); //// 5. Запрет на 3 одинаковых символа, идущих подряд //public abstract bool SameSymb(int minQuantity); //// 6. Отсутствие пробела //public abstract bool Spaces(); //// 7. Наличие хотя бы одного специального символа //// ! @ # $ % ^ & * ( ) - _ = + \ | [ ] { } ; : / ? . > < //public abstract bool SpecialSymbols(); public abstract bool Symbols(HandleRegex demands, out int quantity);