it-swarm.com.de

Prüfen Sie, ob die Zeichenfolge Groß- und Kleinschreibung sowie eine Zahl enthält

Ich möchte überprüfen, ob meine Zeichenfolge Groß- und Kleinschreibung und Nummer enthält

string myString = "Hello123";

if (myString haveUppercase && myString haveLowerCase && myString haveNumber)
{
    this.hide();
}
else
{
    MessageBox.Show("Error!");
}
14
alix54

Sie können die Methoden von char mit LINQ verwenden:

if (myString.Any(char.IsUpper) &&
    myString.Any(char.IsLower) &&
    myString.Any(char.IsDigit))
36
Selman Genç
if (myString.Any(ch => char.IsUpper(ch) &&
    myString.Any(ch => char.IsLower(ch) &&
    myString.Any(ch => char.IsDigit(ch))
    { 
      this.hide();
    }
    else
    {
        MessageBox.Show("Error!");
    }
8
Amir Popovich

Wie wäre es mit?

if(myString.Any(char.IsLower) && myString.Any(char.IsUpper) && myString.Any(char.IsDigit))
7
Soner Gönül

Der Vollständigkeit halber kann der Klassiker , Nicht-LINQ-Weg dies erreichen:

public static bool HasUpperLowerDigit(string text)
{
    bool hasUpper = false; bool hasLower = false; bool hasDigit = false;
    for (int i = 0; i < text.Length && !(hasUpper && hasLower && hasDigit); i++)
    {
        char c = text[i];
        if (!hasUpper) hasUpper = char.IsUpper(c);
        if (!hasLower) hasLower = char.IsLower(c);
        if (!hasDigit) hasDigit = char.IsDigit(c);
    }
    return hasUpper && hasLower && hasDigit;
}

Es ist effizienter, da es jedes Zeichen nur einmal in einer Schleife durchläuft, während für die LINQ-Ansätze drei Aufzählungen erforderlich sind.

4
Rango

Wir können die Erweiterungsmethode für Alphanumeric als Gruppe wie unten verwenden 

(Wir können auch verschiedene Erweiterungsmethoden für Kleinbuchstaben verwenden, Großbuchstaben Buchstaben und Zahlen separat, falls erforderlich)

static class StringExtension
{

    public static bool IsAlphaNumeric(this string strToCheck)
    {
        Regex rg = new Regex(@"^[a-zA-Z0-9\s,]*$");
        return rg.IsMatch(strToCheck);

    }

 }

Wir können die oben genannte Erweiterungsmethode wie folgt verwenden:

 {

 string strValue = "vasanth";

 strValue.IsAlphaNumeric();  //return true

 string strValue1 = "vasanth!";

 strValue.IsAlphaNumeric();  //return false

  }

#region Überprüfen Sie, ob Großbuchstaben vorhanden sind

        string Mystring = "SimpleWordforExAmple";
        char[] chars;
        char ch;
        int length = Mystring.Length;
        int cnt;
        int totalcntupper = 0;

        chars = Mystring.ToCharArray(0, length);

        Console.WriteLine("Sample words with capital letters : {0} ", Mystring);
        for (cnt = 0; cnt < length;cnt ++)
        {
            ch = chars[cnt];


            if (char.IsUpper(ch))
            {
                Console.WriteLine("Capital letter : #{0}", ch);
                totalcntupper++;

            }


        }

        Console.WriteLine("Count of capital letter(s) : # {0}", totalcntupper);
        Console.ReadLine();








        #endregion

ich hoffe du hast eine Idee. Vielen Dank

1
user9667279