C# Regex alle Zeichen eingeschlossen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Was soll denn ein RegEx dabei bringen? o.O

Wenn es dir darum geht, eine TextBox zu haben, in der anstelle der eingegebenen Textzeichen z.B. ein Sternchen angezeigt wird, dann geht das, indem du die Eigenschaft PasswordChar der TextBox entsprechend setzt.

Z.B. so:

System.Windows.Forms.TextBox passwordBox = new System.Windows.Forms.TextBox() {PasswordChar = '*'};

Tastaturbrix 
Fragesteller
 12.10.2019, 13:27

Mein Gedanke war das ich mittels Regex die Zeichen abfange, und stattdessen zbs ein X mache. o.O wäre das etwa falsch ?

Vielen dank für dein beispiel ich werde es Versuchen ob es so klappt, ich suche für WPF.

0
Isendrak  12.10.2019, 13:43
@Tastaturbrix

Mit RegEx wird nix abgefangen. RegExs dienen ausschließlich dazu, nach Mustern zu suchen.

Du könntest dich zwar z.B. an das "Taste gedrückt"-Ereignis hängen und die Standardaktion "überbrücken", aber das wäre zum einen ein ziemlicher Aufwand und zum anderen (wenn man nicht aufpasst) überaus fehleranfällig.

P.S.: Wenns um WPF geht, müsst ich noch mal rercherchieren. (Hättest aber auch in der Frage erwähnen können, um welches GUI-Framework es geht...)

0
Tastaturbrix 
Fragesteller
 12.10.2019, 14:26
@Isendrak

Super vielen dank.

Hab das ausprobiert, leider bekomme ich eine leere Zeichenfolge zurück -_-
Ich Probiere es weiter, wenn ich eine Lösung habe werde ich es hier posten...

0
Isendrak  12.10.2019, 14:51
@Tastaturbrix

Wie hast du denn versucht die Eingabe zu bekommen?

Laut dem verlinkten Tutorial dürfte das so gehen:

string thePassword = myPasswordBox.Password;
0
regex9  12.10.2019, 16:49
@Isendrak

Anmerkung: Zum reinen Testen ist das Password-Property ok. Nach Möglichkeit sollte man für den produktiven Einsatz aber eher das SecurePassword-Property nutzen.

2
Isendrak  12.10.2019, 16:54
@regex9

Bringt aber auch nur da was, wo SecurePassword überhaupt unterstützt wird. Da wirds dann spätestens bei Drittanbieterbibliotheken "kritisch".

0

Ein regulärer Ausdruck, im Englischen kurz RegEx, ist ein Muster, auf das man eine Zeichenkette untersuchen kann. Das dient nicht (direkt) dazu, dass man Benutzereingaben abfängt oder die Anzeige der Eingabe versteckt.

Isendrak hat dir ja bereits einen konkreten Lösungsvorschlag gegeben. Allgemein zeigst du das eingegene Passwort eben nicht im Klartext dem Benutzer an.