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

  • Автор темы Автор темы nice_try
  • Дата начала Дата начала

nice_try

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

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

заранее спасибо за помощь.
 
нужна очень простая функция на шарпе. дело в том, что я питона душу и как по мне, эту проверну сделать очень просто, а на шарпе ни 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
нужна очень простая функция на шарпе. дело в том, что я питона душу и как по мне, эту проверну сделать очень просто, а на шарпе ни 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
а на шарпе ни 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;
    }
}
 
Очень странно:-)
Посмотреть вложение 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

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