прошу помощи с функцией на с#

nice_try

Client
Регистрация
13.03.2024
Сообщения
15
Благодарностей
1
Баллы
3
нужна очень простая функция на шарпе. дело в том, что я питона душу и как по мне, эту проверну сделать очень просто, а на шарпе ни 1 из нейропомощников мне толком не помог.

итак, нужно взять значение переменной password и ее проверить на 4 условия:
8 и больше знаков,
1 из них цифра
1 из них буква
1 из них спец символ.

заранее спасибо за помощь.
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 007
Благодарностей
538
Баллы
113
нужна очень простая функция на шарпе. дело в том, что я питона душу и как по мне, эту проверну сделать очень просто, а на шарпе ни 1 из нейропомощников мне толком не помог.

итак, нужно взять значение переменной password и ее проверить на 4 условия:
8 и больше знаков,
1 из них цифра
1 из них буква
1 из них спец символ.

заранее спасибо за помощь.
C#:
string inputString = project.Variables["password"].Value;

if (ContainsDigit(inputString) && ContainsLetter(inputString) && ContainsSpecialCharacter(inputString) && inputString.Length >= 8 )
{
    project.SendInfoToLog("Строка содержит хотя бы одну цифру, одну букву и один спецсимвол.");
}
else
{
    project.SendErrorToLog("Строка не содержит хотя бы одной цифры, одной буквы или одного спецсимвола.");
}

bool ContainsDigit(string input)
{
    return input.Any(char.IsDigit);
}

bool ContainsLetter(string input)
{
    return input.Any(char.IsLetter);
}

bool ContainsSpecialCharacter(string input)
{
    return input.Any(c => !char.IsLetterOrDigit(c) && !char.IsWhiteSpace(c));
}
UPd Подправил мальца
 
Последнее редактирование:
  • Спасибо
Реакции: nice_try

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 657
Благодарностей
1 320
Баллы
113
нужна очень простая функция на шарпе. дело в том, что я питона душу и как по мне, эту проверну сделать очень просто, а на шарпе ни 1 из нейропомощников мне толком не помог.

итак, нужно взять значение переменной password и ее проверить на 4 условия:
8 и больше знаков,
1 из них цифра
1 из них буква
1 из них спец символ.

заранее спасибо за помощь.
C#:
string password = project.Variables["password"].Value;
if (password.Length >= 8 && password.Any(char.IsDigit) && password.Any(char.IsLetter) && password.Any(c => !char.IsLetterOrDigit(c)))
    return "Good";
else
    throw new Exception("Bad");
 
Последнее редактирование:
  • Спасибо
Реакции: nice_try

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 236
Благодарностей
804
Баллы
113
а на шарпе ни 1 из нейропомощников мне толком не помог
Очень странно:-)
120364

C#:
using System;
using System.Linq;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string password = "YourPassword123#"; // Ваш пароль
        
        if (IsPasswordValid(password))
        {
            Console.WriteLine("Пароль соответствует требованиям.");
        }
        else
        {
            Console.WriteLine("Пароль не соответствует требованиям.");
        }
    }

    static bool IsPasswordValid(string password)
    {
        // Проверка на длину пароля
        if (password.Length < 8)
            return false;
        
        // Проверка на наличие цифр
        if (!password.Any(char.IsDigit))
            return false;
        
        // Проверка на наличие букв
        if (!password.Any(char.IsLetter))
            return false;
        
        // Проверка на наличие спец символов
        if (!Regex.IsMatch(password, @"[!@#$%^&*()_+=\[{\]};:<>|./?,-]"))
            return false;

        return true;
    }
}
 

nice_try

Client
Регистрация
13.03.2024
Сообщения
15
Благодарностей
1
Баллы
3
Очень странно:-)
Посмотреть вложение 120364
C#:
using System;
using System.Linq;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string password = "YourPassword123#"; // Ваш пароль
       
        if (IsPasswordValid(password))
        {
            Console.WriteLine("Пароль соответствует требованиям.");
        }
        else
        {
            Console.WriteLine("Пароль не соответствует требованиям.");
        }
    }

    static bool IsPasswordValid(string password)
    {
        // Проверка на длину пароля
        if (password.Length < 8)
            return false;
       
        // Проверка на наличие цифр
        if (!password.Any(char.IsDigit))
            return false;
       
        // Проверка на наличие букв
        if (!password.Any(char.IsLetter))
            return false;
       
        // Проверка на наличие спец символов
        if (!Regex.IsMatch(password, @"[!@#$%^&*()_+=\[{\]};:<>|./?,-]"))
            return false;

        return true;
    }
}
эт не работает в интерпретаторе почему-то.
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 236
Благодарностей
804
Баллы
113

nice_try

Client
Регистрация
13.03.2024
Сообщения
15
Благодарностей
1
Баллы
3
Ну там минимальные правки под зенку. Используй то что привели выше.
да уже, спасибо откликнувшимся!
не знаете, питанячье что-то планируется тут в ближайший квартал?) шарп для меня такое себе решеньице
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 007
Благодарностей
538
Баллы
113
да уже, спасибо откликнувшимся!
не знаете, питанячье что-то планируется тут в ближайший квартал?) шарп для меня такое себе решеньице
Не планируется, вся зенка на шарпе написана, на петухоне серьезный софт не пишется
 

nice_try

Client
Регистрация
13.03.2024
Сообщения
15
Благодарностей
1
Баллы
3
Не планируется, вся зенка на шарпе написана, на петухоне серьезный софт не пишется
звучит очень недружелюбно, какой-то даже пайтон-расизм просвечивается. но! милому азиатскому ребенку все простительно)))
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 007
Благодарностей
538
Баллы
113
звучит очень недружелюбно, какой-то даже пайтон-расизм просвечивается. но! милому азиатскому ребенку все простительно)))
Да этож классика) вы сами тут заявляли что пятона душите)
 
  • Спасибо
Реакции: nice_try

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)