Ich versuche, eine regex
zu erstellen Benutzernamen zu überprüfen, die die folgenden entsprechen sollte:Regex übereinstimmen einen Benutzernamen
- Nur eine spezielle char
(._-)
erlaubt und es darf nicht - an den Extremwerten des Strings sein das erste Zeichen darf keine Zahl
- sein, die alle anderen Zeichen sind Buchstaben und Zahlen erlaubt
- die Gesamtlänge sollte zwischen 3 und 20 Zeichen sein
Dies ist für ein HTML5-Validierungsmuster, so dass es leider ein großer Regex sein muss.
Bisher ist das, was ich habe:
^(?=(?![0-9])[A-Za-z0-9]+[._-]?[A-Za-z0-9]+).{3,20}
Aber die positive Vorschau kann mehr als einmal wiederholt werden, so dass mehr als ein Sonderzeichen sein, das ist nicht das, was ich wollte. Und ich weiß nicht, wie ich das korrigieren soll.
noch keine Antwort - aber Sie müssen brechen '.' in' [._-] '. – amit
Für etwas so kompliziert, warum wählen Sie mit einem HTML-Validierungsmuster gehen? Sie könnten ein Ereignis auslösen, das die Validierung und nicht das Muster behandelt. – Eclecticist
@amit [._-] ist ein einzelnes Zeichen in der Liste "._-" wörtlich so der Punkt wird nicht als ein Zeichen, so denke ich, ich brauche es nicht zu brechen – Tofandel