Загрузка...

Lösung des Problems der „Benutzernamen-Validierung“ mit Regex in PHP

Erfahren Sie, wie Sie mit Regex in PHP ein robustes System zur Benutzernamen-Validierung erstellen, das nur gültige Benutzernamen akzeptiert.
---
Dieses Video basiert auf der Frage https://stackoverflow.com/q/62351163/ gestellt von dem Nutzer 'DamirAlkhaov' ( https://stackoverflow.com/u/13736330/ ) sowie auf der Antwort https://stackoverflow.com/a/62351329/ bereitgestellt von dem Nutzer 'Wiktor Stribiżew' ( https://stackoverflow.com/u/3832970/ ) auf der Website 'Stack Overflow'. Vielen Dank an diese großartigen Nutzer und die Stackexchange-Community für ihre Beiträge.

Besuchen Sie diese Links, um den Originalinhalt und weitere Details zu sehen, z. B. alternative Lösungen, aktuelle Entwicklungen zum Thema, Kommentare, Versionsverlauf usw. Der ursprüngliche Titel der Frage lautete beispielsweise: problem with making preg_match for a username validating system

Außerdem steht der Inhalt (außer Musik) unter der Lizenz CC BY-SA https://meta.stackexchange.com/help/licensing
Der ursprüngliche Fragenbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/by-sa/4.0/ ), und der ursprüngliche Antwortbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/by-sa/4.0/ ).

Falls Ihnen irgendetwas auffällt oder Unstimmigkeiten bestehen, schreiben Sie mir bitte an vlogize [AT] gmail [DOT] com.
---
Einführung

Die Erstellung eines Systems zur Benutzernamen-Validierung ist ein wichtiger Schritt in der Webentwicklung, um sicherzustellen, dass Benutzerkennungen eindeutig sind und bestimmten Regeln entsprechen. Ein häufiges Problem, dem Entwickler begegnen, ist die Erstellung eines perfekten Regex-Ausdrucks, der diese Regeln genau durchsetzt. In diesem Leitfaden werden wir eine Regex-Lösung zur Validierung von Benutzernamen untersuchen, die sich auf Einschränkungen wie Länge, erlaubte Zeichen und Position von Unterstrichen konzentriert.

Das Problem

Der ursprünglich bereitgestellte Regex zur Validierung eines Benutzernamens lautete:

[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]

Dieser funktionierte jedoch nicht wie erwartet. Die spezifischen Anforderungen an die Benutzernamen-Validierung lauteten:

Darf nur mit Buchstaben oder Ziffern beginnen und enden.

Kann einen Unterstrich in der Mitte des Benutzernamens enthalten.

Die Länge muss zwischen 3 und 12 Zeichen liegen.

Der größte Nachteil war, dass der Regex Namen zuließ, die länger als 12 Zeichen waren, was zu fehlerhaften Validierungen führte.

Die Lösung

Um dieses Problem zu lösen, benötigt man einen Regex-Ausdruck, der alle genannten Bedingungen erfüllt. Der überarbeitete Regex lautet:

[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]

Aufschlüsselung des Regex

Es ist wichtig, jede Komponente des Regex zu verstehen, um ihn in Zukunft zu warten oder zu modifizieren. Hier ist die Aufschlüsselung des für die Benutzernamen-Validierung verwendeten Regex:

^ - Markiert den Beginn des Strings.

(?=.{3,12}$) - Dies ist eine Lookahead-Assertion, die sicherstellt, dass die Länge des Strings zwischen 3 und 12 Zeichen liegt, inklusive. Sie prüft, ob der gesamte String innerhalb dieser Länge bleibt, ohne Zeichen zu konsumieren (d.h., sie überprüft nur die Bedingung).

[a-zA-Z\d]+ - Dieser Teil passt auf einen oder mehrere Buchstaben (a-z, A-Z) oder Ziffern (0-9). Er stellt sicher, dass Benutzernamen mit alphanumerischen Zeichen beginnen.

(?:_[a-zA-Z\d]+ )? - Diese nicht-erfassende Gruppe erlaubt einen optionalen Unterstrich (_), gefolgt von einem oder mehreren Buchstaben oder Ziffern. Hier ist also ein Unterstrich in der Mitte des Benutzernamens erlaubt.

$ - Markiert das Ende des Strings.

Zusammengesetzt bedeutet das:

Der Regex stellt sicher, dass:

Benutzernamen zwischen 3 und 12 Zeichen lang sind, wobei nur gültige Anfangs- und Endzeichen (Buchstaben und Ziffern) zugelassen werden.

Ein Unterstrich in der Mitte eingelegt werden kann, aber nicht am Anfang oder Ende steht.

Die Längenbegrenzung der Zeichen effektiv durchgesetzt wird.

Fazit

Reguläre Ausdrücke bieten mächtige Werkzeuge zur Validierung von Benutzereingaben, doch die Erstellung des perfekten Regex erfordert Aufmerksamkeit zum Detail und ein klares Verständnis der durchzusetzenden Regeln. Mit dem oben beschriebenen überarbeiteten Regex können Sie erfolgreich ein funktionierendes System zur Benutzernamen-Validierung für Ihre PHP-Anwendungen implementieren. Dies verbessert den Benutzerregistrierungsprozess erheblich und stellt sicher, dass Benutzernamen sowohl gültig als auch regelkonform sind.

Passen Sie den Regex gerne an Ihre spezifischen Bedürfnisse an! Viel Erfolg beim Programmieren!

Видео Lösung des Problems der „Benutzernamen-Validierung“ mit Regex in PHP канала vlogize
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять