Heim >Java >javaLernprogramm >Wie kann ich meine Java-Passwortvalidierungs-Regex verbessern, um Leerzeichen abzulehnen?

Wie kann ich meine Java-Passwortvalidierungs-Regex verbessern, um Leerzeichen abzulehnen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-11 00:19:11637Durchsuche

How Can I Improve My Java Password Validation Regex to Reject Whitespace?

Regulärer Ausdruck für die Passwortvalidierung in Java

Um Passwörter in einer Java-Anwendung zu validieren, kann ein benutzerdefinierter regulärer Ausdruck (regexp) definiert werden als ein Konfigurationsparameter.

Problem:

Die regexp:

^.*(?=.{8,})(?=..*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$

erzwingt Passwortregeln wie Mindestlänge, Vorhandensein von Ziffern, Klein- und Großbuchstaben sowie Sonderzeichen. Es fehlt jedoch die Unterstützung für die Identifizierung von Passwörtern ohne Leerzeichen, Tabulatoren oder Wagenrückläufe.

Lösung:

Um dieses Problem zu beheben, hängen Sie Folgendes an den vorhandenen regulären Ausdruck an:

(?=\S+$)

Final Regular Ausdruck:

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$

Erklärung:

  • ^ und $ sind Anker, die dem Anfang und Ende der Zeichenfolge entsprechen und so das gesamte Passwort sicherstellen ist validiert.
  • (?=.*[0-9]) bestätigt das Vorhandensein von mindestens einem Ziffer.
  • (?=.*[a-z]) bestätigt das Vorhandensein von mindestens einem Kleinbuchstaben.
  • (?=.*[A-Z]) bestätigt das Vorhandensein von mindestens einem Großbuchstaben Buchstabe.
  • (?=.*[@#$%^& =]) bestätigt das Vorhandensein von mindestens einem Sonderzeichen (@#%$^ usw.).
  • (?=S $) stellt sicher, dass keine Leerzeichen, Tabulatoren, Wagenrückläufe oder Leerzeichen vorhanden sind.
  • .({8,}$ entspricht jedem Zeichen (. ) mindestens achtmal vorkommt, um sicherzustellen, dass das Passwort die Mindestlängenanforderung erfüllt.

Das obige ist der detaillierte Inhalt vonWie kann ich meine Java-Passwortvalidierungs-Regex verbessern, um Leerzeichen abzulehnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn