Bad Channel Name & Bad Nickname: Nur bestimmte Zeichen erlauben

Started by Stefan1200, August 08, 2016, 07:05:08 PM

Previous topic - Next topic

Stefan1200

Beispiel:
[^A-Za-z1-9\-\_]+

Wenn im Namen was anders vor kommt, als Buchstaben, Zahlen, Minus und Unterstrichen, wird die Funktion aktiv. Dies kann natürlich um weitere Zeichen ergänzt werden. Das Zeichen ^ ist hier aber wichtig (Negation aller Zeichen in den eckigen Klammern). Das Plus steht für beliebig viele Zeichen.

Achtung, ich habe das nicht ausgiebig getestet.

GAMERS4EVER

Hallo Stefan,

ich wollte die Bad Nickname Check so einstellen das nur Buchstaben, Zahlen und Zeichen wie z.B. | oder / erlaubt sind.
Sowas wie Klammen und andere Sonderzeichen sollen nicht mehr funktionieren.
Leider bekomme ich das mit dem Regex Filter nicht richtig hin.
Entweder wird alles als BAD erkannt oder nichts.

Hättest du oder jemand anderes ein Tipp für mich was ich eventuell falsch eingebe?

Stefan1200


GAMERS4EVER

Ich habe den versucht aus dem 1. Post: [^A-Za-z1-9\-\_]+

auch mit .* versucht machte es nur schlimmer.

Stefan1200

.* darfst du in dem Fall auch nicht anwenden.

Wenn mein Regex nicht funktioniert, muss da jemand rann, der sich mit Regex besser auskennt, als ich.

GAMERS4EVER

Nach weiterer Internetrecherche konnte ich nun eine für mich zufriedenstellende Lösung finden.

Falls mal jemand das gleich Problem wie ich hatte hier die Lösung:

.*[^A-Za-z0-9\|\x20].*

Das mit dem + hat bei mir irgendwie nie funktioniert.
A-Z = Alle Großbuchstaben
a-z = alle Kleinbuchstaben
0-9 = Alle Zahlen
\| = Das Trennzeichen
\x20 = Leerzeichen

Daher sind jetzt nur noch im Nickname´s Buchstaben, Zahlen, Trennzeichen und Leerzeichen erlaubt.

Aber vielleicht hat ja jemand noch eine bessere Lösung?

Stefan1200

Müsste nicht [^A-Za-z0-9\|\x20]* besser funktionieren? Weil .* steht ja für ein beliebiges Zeichen in unbegrenzter Anzahl.

GAMERS4EVER

Hallo Stefan,

habe es getestet, aber leider keinen erfolg gehabt.
Wenn ich deine Vorlage rein kopiere macht er einfach gar nichts.

Es geht zur Zeit nur mit .* oder ich mach was falsch.

Stefan1200

Quote from: GAMERS4EVER on April 17, 2018, 09:11:20 PM
Es geht zur Zeit nur mit .* oder ich mach was falsch.

.* erlaubt aber alles, so wie du es geschrieben hast, reicht es, wenn ein erlaubtes Zeichen dabei ist, der Rest darf unerlaubt sein.

GAMERS4EVER

Muss dich leider berichtigen.
Mir fehlt höchstwahrscheinlich die Erfahrung mit der Funktion um es zu erklären warum es geht.

Wenn ich z.b. MaxMustermann heiße wäre dort ja alles ok.
Nach der Änderung auf Max&Mustermann, dann wird man mit der oben stehenden Funktion gekickt.

Daher funktioniert es so wie es soll, aber warum kann ich nicht erklären.