示例#1
0
        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);
        }
示例#2
0
        //// 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);