So erstellen Sie ein starkes Passwort. So erstellen Sie ein starkes Passwort Erstellen Sie ein Passwort mit 8 Zeichen und Latein

Ich brauche regulären Ausdruck es prüfen:

Das Kennwort enthält mindestens acht Zeichen, darunter mindestens eine Zahl, sowie Klein- und Großbuchstaben sowie Sonderzeichen wie #,? ,! ...

Es kann nicht deins sein Altes Passwort oder enthalten Sie Ihren Benutzernamen, "Passwort" oder "Websitename"

Und hier ist mein Validierungsausdruck, der für acht Zeichen gilt, einschließlich eines Großbuchstabens, eines Kleinbuchstabens und einer Zahl oder eines Sonderzeichens.

(? = ^. (8,) $) ((? =. * \ D) | (? =. * \ W +)) (?! [. \ N]) (? =. *) (? =. * ). * $ "

Wie kann ich es schreiben, wenn das Passwort acht Zeichen lang sein sollte, einschließlich eines Großbuchstabens, eines Sonderzeichens und alphanumerischer Zeichen?

Javascript asp.net regex

24 Antworten


877

Mindestens acht Zeichen, mindestens ein Buchstabe und eine Zahl:

"^ (? =. *) (? =. * \ d) (8,) $"

Mindestens acht Zeichen, mindestens ein Buchstabe, eine Zahl und ein Sonderzeichen:

"^ (? =. *) (? =. * \ d) (? =. * [@ $!% * #? &]) (8,) $"

Mindestens acht Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe und eine Zahl:

"^ (? =. *) (? =. *) (? =. * \ d) (8,) $"

Mindestens acht Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl und ein Sonderzeichen:

"^ (? =. *) (? =. *) (? =. * \ d) (? =. * [@ $!% *? &]) (8,) $"

Mindestens acht und maximal 10 Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl und ein Sonderzeichen:

"^ (? =. *) (? =. *) (? =. * \ d) (? =. * [@ $!% *? &]) (8,10) $"


53

Reguläre Ausdrücke haben keinen AND-Operator, daher ist es ziemlich schwierig, eine Regex zu schreiben, die mit gültigen Passwörtern übereinstimmt, wenn die Realität durch etwas AND, etwas anderes AND, etwas anderes bestimmt wird ...

Regexes haben jedoch einen ODER-Operator, wenden Sie also einfach das Theorem von DeMorgan an und schreiben Sie eine Regex, die mit ungültigen Passwörtern übereinstimmt:

Alles unter acht Zeichen ODER alles, was keine Zahlen enthält ODER alles, was keine Großbuchstaben enthält ODER oder alles, was keine Kleinbuchstaben enthält ODER alles, was keine Sonderzeichen enthält.

^ (. (0,7) | [^ 0-9] * | [^ A-Z] * | [^ a-z] * | *) $

Wenn etwas damit übereinstimmt, ist es das falsche Passwort.


29

Nur eine kleine Verbesserung für die Antwort von @anubhava: Da Sonderzeichen auf die auf der Tastatur beschränkt sind, verwenden Sie dies für jedes Sonderzeichen:

^ (? =. *?) (? = (. *) (1,)) (? = (. * [\ D]) (1,)) (? = (. * [\ W]) (1, )) (?!. * \ s). (8,) $

Diese Regex wendet diese Regeln an:

  • Mindestens ein englischer Großbuchstabe
  • Mindestens ein englischer Kleinbuchstabe
  • Mindestens eine Ziffer
  • Mindestens ein Sonderzeichen
  • Mindestens acht in der Länge


20

Ich hatte einige Schwierigkeiten, der beliebtesten Antwort für meine Umstände zu folgen. Zum Beispiel ist meine Prüfung mit Zeichen wie fehlgeschlagen; oder [ . Ich war nicht daran interessiert, meine Sonderzeichen auf die Whitelist zu setzen, also habe ich stattdessen [^ \ w \ s] als Test verwendet - einfacher - um nicht-verbale Zeichen (einschließlich numerischer Zeichen) und Nicht-Leerzeichen zu vergleichen. Zusammenfassend hat Folgendes bei mir funktioniert ...

  • mindestens 8 Zeichen
  • mindestens 1 numerisches Zeichen
  • mindestens 1 Kleinbuchstabe
  • mindestens 1 Großbuchstabe
  • mindestens 1 Sonderzeichen
/^(?=.*?)(?=.*?)(?=.*?)(?=.*? [^\w\s>).(8,)$/ ^ (? = \ S *) (? = \ S *) (? = \ S * \ d) (? = \ S * [^ \ w \ s]) \ S (8,) $

aber es akzeptiert kein _ (Unterstrich) als Sonderzeichen (zB Aa12345_).

Verbesserte:

^ (? = \ S *) (? = \ S *) (? = \ S * \ d) (? = \ S * ([^ \ w \ s] | [_])) \ S (8,) $


2

Ich habe hier viele Probleme gefunden, also habe ich meine eigenen gemacht.

Hier ist es in seiner ganzen Pracht, mit Prüfungen:

^ (? =. *) (? =. *) (? =. * \ d) (? =. * ([^ a-zA-Z \ d \ s])). (9,) $

Es gibt etwas zu beachten:

  1. verwendet nicht \ w, da dies _ enthält, das ich teste.
  2. Ich hatte viele Probleme mit übereinstimmenden Zeichen, die nicht mit dem Ende der Zeile übereinstimmten.
  3. Gibt keine speziellen Zeichen an, dies liegt auch daran, dass verschiedene Gebietsschemas möglicherweise unterschiedliche Zeichen auf ihren Tastaturen haben, die sie möglicherweise verwenden möchten.


1

Wir können es einfach mit HTML5 tun.

Verwenden Sie den folgenden Code im Musterattribut,

Muster = "(? = ^. (8,) $) ((? =. * \ D) (? =. * \ W +)) (?! [. \ N]) (? =. *) (? = .*). * $ "

Es wird perfekt funktionieren.


1

Sie können das untenstehende Regex-Muster verwenden, um das Kennwort zu überprüfen, ob es Ihren Erwartungen entspricht oder nicht.

((? =. * \\ d) (? =. *) (? =. *) (? =. * [ [E-Mail geschützt]#$%^&*()]).{8,20})


1

Verwenden Sie die folgende Regex, um die folgenden Bedingungen zu erfüllen:

Bedingungen: 1] Mindestens 1 Sonderzeichen. 2] Mindestens 1 Zahl. 3] Mindestens 8 Zeichen oder mehr

Regex: ^ (? =. * \ D) (? =. * [# [E-Mail geschützt]!%&*?]){8,}$


0

Prüfen Sie in Java / Android ein Passwort mit mindestens einer Zahl, einem Buchstaben, einem Sonderzeichen nach folgendem Schema:

"^ (? =. *) (? =. * \\ d) (? =. * [ [E-Mail geschützt]$!%*#?&]){8,}$"


0

Versuche dies:

^.*(?=.{8,})(?=.*)(?=.*)(?=.*[@#$%^&+=])*$

Diese Regex funktioniert perfekt für mich.

Funktion myFunction() (var str = " [E-Mail geschützt]"; var patt = new RegExp (" ^. * (? =. (8,)) (? =. *) (? =. *) (? =. * [@ # $% ^ & + =]) * $ "); var res = patt.test (str); console.log (" Ist reguläre Übereinstimmungen: ", res);)


0

Hoffe das folgende funktioniert. Ich habe dies in einer benutzerdefinierten Azure-Richtlinie versucht.

^(?=. ) (?=. ) (?=. \ d) (? =. [@#$%^&*-_+={}|\:",?/ ~"();!])({}|\\:",?/ ~"();!]|.([E-Mail geschützt])){6,16}$


-1

Die Lösung, die ich in einer der vorherigen Antworten gefunden habe, lautet wie folgt:

Mindestens 8 Zeichen Mindestens 1 Großbuchstaben, 1 Kleinbuchstaben, 1 Zahl und 1 Sonderzeichen: "^ (? =. ) (?=. ) (?=. \ d) (? =. [[E-Mail geschützt]$!% ?&]){8 ,}" ..

.

Bei mir hat es nicht funktioniert, aber die folgende vereinfachte Version funktioniert einwandfrei (füge ein beliebiges Sonderzeichen hinzu, ich habe hier # hinzugefügt) und füge auch eine Zahlenregel hinzu, wie du es mit Buchstaben machst wie:

"^(?=.*)(?=.*)(?=.*)(?=.*[[E-Mail geschützt]$!%*?&]){8,}"


Regex-Passwortvalidierung mit bedingter Java-Anweisung

Ich bin neu bei Regex. Grundsätzlich muss ich ein Passwort in Java für folgende Anforderung validieren: Das Passwort muss mindestens sechs Zeichen lang sein. Das Passwort kann bis zu 20 Zeichen lang sein Um ...


regex erlaubt nur Buchstaben, Zahlen, Punkte, Unterstriche, Bindestriche. mindestens 5 Zeichen

Wie man Regex unter die Regeln passt erlaubt nur Buchstaben (Groß- oder Kleinschreibung), Zahlen, Punkte, Unterstriche, Bindestriche Mindestens 5 Zeichen dürfen keine gebräuchlichen Begriffe oder Erweiterungen enthalten ...


Regex, um "Sonderzeichen oder Leerzeichen zu verbieten", aber "Zahlen und" Großbuchstaben "ODER" Kleinbuchstaben "Buchstaben" zuzulassen

Ich benutze bereits diese Regex: ^ (6,) $ es erlaubt: Zahlen, Großbuchstaben, Kleinbuchstaben. es verbietet: Leerzeichen und Sonderzeichen oder Symbole. Aber ich möchte es ändern in: - erlauben: ...


Regulärer Ausdruck für Passwort

Ich brauche Hilfe beim Generieren eines Regex-Passworts. Das Passwort muss mindestens 4 Zeichen, Buchstaben (Groß- und Kleinbuchstaben), Zahlen und Sonderzeichen enthalten - keine Leerzeichen. MSN als regulärer Ausdruck.


Regex für eine Kombination von gegebenen Regeln

Ich versuche, eine Regex zu schreiben, um das Passwort für eine bestimmte Regel zu überprüfen. Passwörter müssen mindestens 8 Zeichen lang sein und mindestens 3 der folgenden 4 Zeichenarten enthalten: Kleinbuchstaben (z. B. ...


Eine Regex für die komplexe Passwortvalidierung

Ich muss das Passwort auf Einhaltung dieser Regeln überprüfen A) das Passwort muss Zeichen aus 3 der folgenden 4 Klassen enthalten: Englische Großbuchstaben A, B, C, ... Z Englische Kleinbuchstaben ...


Das Regex-Passwort muss mindestens 8 Zeichen, mindestens 1 Zahlen, Buchstaben und Sonderzeichen enthalten

Ich brauche eine Regex, die mindestens ein numerisches Zeichen enthalten muss, sowohl Groß- als auch Kleinbuchstaben sind erlaubt, Sonderzeichen sind auch erlaubt Ich verwende dies ...


Regex für ein Passwort von mindestens 6 Zeichen

Ich benötige eine Regex, um ein Passwort mit den folgenden Bedingungen zu validieren Länge mindestens 6 Zeichen Muss mindestens 1 Buchstaben enthalten Muss mindestens 1 Zahl enthalten Wenn das Passwort spezielle ...


Das Muster stimmte manchmal überein und manchmal nicht

Ich habe eine Vorlage in Angular 5 mit folgendem Code in einer .ts-Datei zur Passwortvalidierung implementiert. Dies muss getan werden - Unterstützung für mindestens acht Zeichen, mindestens einen Großbuchstaben, einen ...


Regex für Passwörter, die mindestens 8 Zeichen lang sind, Großbuchstaben, Kleinbuchstaben, Zahlen, Sonderzeichen und sich nicht wiederholen?

Hallo, ich möchte einen regulären Ausdruck finden, der diese Bedingungen erfüllt. (1) Passwörter müssen mindestens 8 Zeichen lang sein (2) sie müssen mindestens Großbuchstaben, Kleinbuchstaben, Zahlen und ...

12345 - wir müssen das Passwort ändern. Wie man ein komplexes Passwort findet und es sich für immer merken kann

Internetbetrüger stehlen täglich Millionen von Passwörtern aus Postfächern und Benutzerkonten. Aber verzweifeln Sie nicht - wir geben einige sehr einfache, aber effektive Ratschläge, die Sie davor bewahren, die Kontrolle über Ihre Ressourcen zu verlieren.

Für diejenigen, die lieber zuschauen, haben wir eine Videoversion dieses Artikels vorbereitet:



1. Verwenden Sie komplexe Passwörter

Sie haben es erraten, oder? Entschuldigung für die Banalität, aber das ist der wichtigste Rat - der von den meisten Benutzern immer noch vernachlässigt wird. Kein Wunder, dass Passwörter wie qwerty bis heute zu den beliebtesten gehören.

Verwenden Sie nicht die Namen Ihrer Lieblingsfiguren, den Namen des Fußballvereins oder den Namen Ihres Haustieres als Passwort, da diese Informationen in Ihren sozialen Netzwerken leicht zu finden sind. Ein komplexes Passwort sollte aus einer beliebigen Kombination verschiedener Zeichen und Symbole bestehen.

2. Verwenden Sie Groß- und Kleinbuchstaben, Zahlen und Symbole

, Benutzer mögen keine langen Passwörter - sie sind leicht zu vergessen und zu faul zum Tippen. Ein 8-stelliges Passwort galt nur in der Frühzeit der Computer als zuverlässig; Heute wird eine achtstellige Zahlenkombination in wenigen Stunden mechanisch abgeglichen.

Aber auch ein kurzes Passwort (bis zu 8 Zeichen) kann in verschiedenen Fällen durch die Verwendung von Zahlen und Buchstaben relativ sicher gemacht werden. Es dauert 2-3 Tage, um ein solches Passwort zu finden.

Maximale Zuverlässigkeit wird erreicht, indem einfach die Länge des Passworts erhöht wird und wenn möglich verschiedene Symbole ($,%, &, '', #) in diesen Diensten verwendet werden.

3. Verwenden Sie Abkürzungen

Wählen Sie einen Satz aus, den Sie nicht vergessen werden, und verwenden Sie eine Kombination der ersten Buchstaben jedes Wortes als Passwort. Zum Beispiel wird das Gedicht von 1828 "The Lukomorye has a green oak, a golden chain on that oak ..." zu ULdzzcndt1828.




4. Verwenden Sie mit einem Schlüsselwort

Wählen Sie ein Keyword aus und mischen Sie es mit dem Namen jeder Site, bei der Sie ein Konto haben. Zum Beispiel für Stichwort Das "Antivirus"-Passwort auf der Website sieht so aus: c ein l n du T B ich e v S ich e R T du n S od32. Der Vorteil dieses Tricks besteht darin, dass Sie für jede Site ein starkes Passwort haben.

Wie in den Kommentaren vorgeschlagen, kann diese Methode fehlschlagen, wenn sich die Site-Adresse ändert. In diesem Fall reicht es jedoch aus, die automatische Passwortwiederherstellung zu verwenden.

5. Verwenden Sie nicht dasselbe Passwort für verschiedene Konten

Seien Sie als wahrer Künstler originell. Denken Sie daran, dass verschiedene Sites unterschiedliche Sicherheitsstufen haben. Zum Beispiel senden die meisten Dienste Passwörter über Email durch das Verfahren zur Passwortwiederherstellung. Nachdem Hacker ein Passwort von einem unsicheren Dienst erhalten haben, können sie versuchen, es für Ihre E-Mails oder sozialen Netzwerke zu verwenden - dasselbe Passwort wird zum Schlüssel für alle Ihre Ressourcen.

Die einzige Möglichkeit, Risiken zu mindern, besteht darin, einzigartige, komplexe Passwörter für alle Konten zu verwenden.

6. Passwörter häufiger ändern

Beim Diebstahl von Mail.ru-Passwörtern erwiesen sich 99,982% aller Passwörter als irrelevant. Dies lag vor allem daran, dass der größte Teil der gestohlenen Kontodatenbank aus einer Reihe anderer Datenbanken zusammengestellt wurde.

Bei 57 Millionen Adressen (genau so viele Einträge in der durchgesickerten Datenbank) reicht dies jedoch nicht aus - können Sie garantieren, dass Ihr Postfach auf Mail.Ru nicht von Eindringlingen kompromittiert wurde? Darüber hinaus ist dies nur ein Beispiel für eine durchgesickerte Datenbank - wir wissen nicht, wie viele Millionen relevanter Adressen heute in den Händen von Hackern laufen.

Aber wir wissen mit Sicherheit, dass es viel weniger davon geben würde, wenn Benutzer regelmäßig ihre Passwörter ändern würden.




7. Verwenden Sie einen Passwort-Manager

So vergessen Sie Ihr Passwort nicht Konto In Kontakt mit, Briefkasten und Internetbanking? Nur wenige Menschen können sich Dutzende komplexer Passwörter merken. Es ist in Ordnung.

Glücklicherweise haben die Entwickler Software kam auf eine Lösung. Heutzutage gibt es viele Tools, mit denen Benutzer eine unbegrenzte Anzahl der komplexesten Passwörter sicher speichern können. Sie können beispielsweise die beliebtesten verwenden - LastPass oder 1Password.

Allerdings haben Passwortmanager ihre Schwachstellen. Die wichtigsten Konten, über die auf Ihre Bankdaten zugegriffen werden kann, sollten nicht einmal der vertrauenswürdigsten Software anvertraut werden.

8. Vergessen Sie nicht die "Geheimfrage"

In Tipp #1 haben wir empfohlen, keine Daten als Passwort zu verwenden, die man leicht über dich erfahren kann soziale Netzwerke... Gleiches gilt für "Geheimfragen", die viele aus irgendeinem Grund vergessen oder ihnen keine Bedeutung beimessen. Darüber hinaus können Angreifer leicht eine Antwort aus einer Datenbank mit beliebten Optionen abrufen.

Versuchen Sie es mit absurden Taktiken, bei denen die Antwort nichts zu tun hat Geheime Frage... Mädchenname der Mutter? Aspirin! Haustiername? 1989!

9. Verwenden Sie die Zwei-Faktor-Authentifizierung

Verwenden Sie nach Möglichkeit die Zwei-Faktor-Authentifizierung, um das Risiko von Datenlecks zu minimieren.

Bei den meisten sozialen Netzwerken, Post- und Bankdiensten können Sie die Autorisierungsbestätigung per SMS aktivieren. Somit können Betrüger nicht auf Ihr Konto zugreifen, wenn sie Ihr Mobiltelefon nicht in der Hand haben.

Wenn Sie also ein Yandex-Konto haben, empfehlen wir die Verwendung der Zwei-Faktor-Authentifizierungsfunktion von Yandex.Key:

  • Laden Sie die App für Android oder iOS herunter
  • Passwort oder QR-Code eingeben
  • Melden Sie sich bei Yandex an
  • Profitieren!
P.S. Drucken und speichern Sie die Wiederherstellungscodes für den Fall, dass Ihr Smartphone ausfällt oder verloren geht.


10. Antivirus ist unser Ein und Alles

Passwörter gelangen nicht nur an Hacker, sie schweben nicht durch die Luft (außer beim üblichen Betrug, wenn Nutzer selbst Kriminellen Passwörter für ihre Dienste zur Verfügung stellen).

Persönliche Daten werden gesammelt und sehr spezifisch an Hacker gesendet Malware, die sich per Haken oder Gauner bemühen, auf Ihren PC, Laptop oder Ihr Smartphone zu gelangen.

Also stell zuverlässiger Virenschutz c (und regelmäßig Datenbanken aktualisieren) ist eine der wichtigsten Möglichkeiten, um Geld, Nerven und Privatsphäre zu sparen.

Obligatorische Anforderungen an ein starkes Passwort

Passwort sollte nicht enthalten

  • Persönliche Informationen, die leicht zu finden sind. Zum Beispiel: Vorname, Nachname oder Geburtsdatum.
  • Offensichtlich und einfache Worte, Phrasen, Satzausdrücke und Zeichensätze, die leicht zu erlernen sind. Zum Beispiel: password, parol, abcd, qwerty oder asdfg, 1234567.

Methoden zur Passwortgenerierung

  • Überlegen Sie sich einen Algorithmus zum Generieren von Passwörtern.
    Nehmen Sie zum Beispiel Ihr Lieblingsgedicht oder Ihren Lieblingsspruch als Grundlage. Schreiben Sie es in lateinischen Klein- und Großbuchstaben auf und ersetzen Sie einige von ihnen durch ähnliche Zahlen oder Symbole: I_p0Mn | O_4y9n0e Mg№vEn | E (ich erinnere mich an einen wunderbaren Moment).
  • Verwenden Sie einen Passwortgenerator.
    Mit Kaspersky Password Manager können Sie komplexe Passwörter generieren, ihre Stärke überprüfen und sicher speichern. Sie können auch in Ihrem Browser einstellen Kaspersky-Erweiterung Password Manager zum automatischen Ausfüllen von Dateneingabefeldern auf Websites.

Wie oft Sie Ihr Passwort ändern

Passwortschutz

  • Teilen oder senden Sie Ihre Passwörter an niemanden.
  • Lassen Sie Passwörter nicht an einem zugänglichen Ort auf Papier aufgeschrieben.
  • Verwenden Sie einen Passwortmanager oder den integrierten Passwortspeicher des Browsers.
  • Verwenden Sie unterschiedliche Passwörter für Ihre Konten. Wenn Sie dieselben Passwörter verwenden und ein Angreifer das Passwort für ein Konto erfährt, kann er sich Zugang zu allen anderen verschaffen.


Ein regulärer Ausdruck für ein Passwort muss mindestens acht Zeichen, mindestens eine Zahl sowie Klein- und Großbuchstaben sowie Sonderzeichen enthalten (15)

Verwenden Sie die folgende Regex, um die folgenden Bedingungen zu erfüllen:

Bedingungen: 1] Mindestens 1 Sonderzeichen. 2] Mindestens 1 Zahl. 3] Mindestens 8 Zeichen oder mehr

Regex: ^ (? =. * \ D) (? =. * [# [E-Mail geschützt]!%&*?]){8,}$

Kann online testen: https://regex101.com

Ich möchte, dass eine Regex das überprüft:

Das Kennwort enthält mindestens acht Zeichen, darunter mindestens eine Zahl, sowie Klein- und Großbuchstaben sowie Sonderzeichen wie #? ,! ,

Es darf nicht Ihr altes Passwort sein oder Ihren Benutzernamen, "Passwort" oder "Website-Name" enthalten.

Und hier ist mein Testausdruck für acht Zeichen, einschließlich eines Großbuchstabens, eines Kleinbuchstabens und einer Zahl oder eines Sonderzeichens.

(? = ^. (8,) $) ((? =. * \ D) | (? =. * \ W +)) (?! [. \ N]) (? =. *) (? =. * ). * $ "

Wie kann ich es für das Passwort schreiben, es sollte acht Zeichen haben, darunter ein Großbuchstabe, ein Sonderzeichen und alphanumerische Zeichen?

@ClassG bereits vorgeschlagen:

^ (? = \ S *) (? = \ S *) (? = \ S * \ d) (? = \ S * [^ \ w \ s]) \ S (8,) $

aber es akzeptiert kein _ (Unterstrich) als Sonderzeichen (wie Aa12345_).

Verbessert:

^ (? = \ S *) (? = \ S *) (? = \ S * \ d) (? = \ S * ([^ \ w \ s] | [_])) \ S (8,) $

In Java / Android, um ein Passwort mit mindestens einer Zahl, einem Buchstaben, einem Sonderzeichen im folgenden Muster zu validieren:

"^ (? =. *) (? =. * \\ d) (? =. * [ [E-Mail geschützt]$!%*#?&]){8,}$"

Je nach Bedarf sollte dieses Modell gut funktionieren. Versuche dies,

^ (? = (. * \ d) (1)) (. * \ S) (? =. *) (8,)

Erstellen Sie einfach eine String-Variable, weisen Sie eine Vorlage zu und erstellen Sie eine boolesche Methode, die true zurückgibt, wenn die Vorlage korrekt ist, andernfalls false.

Zeichenfolgenmuster = "^ (? = (. * \ D) (1)) (. * \ S) (? =. *) (8,)"; String password_string = "Geben Sie das Passwort hier ein" private boolean isValidPassword (String password_string) (return password_string.matches (Constants.passwordPattern);)

Importieren JavaScript-Datei jquery.validate.min.js.

Sie können diese Methode verwenden:

$ .validator.addMethod ("pwcheck", Funktion (Wert) (return / [\@\#\$\%\^\&\*\(\)\_\+\!>/.test(Wert) && //.test(wert) && //.test(wert) && //.test(wert)));

  1. Mindestens ein englischer Großbuchstabe
  2. Mindestens ein englischer Kleinbuchstabe
  3. Mindestens eine Ziffer
  4. Mindestens ein Sonderzeichen

Hoffe das folgende funktioniert. Ich habe dies in einer benutzerdefinierten Azure-Richtlinie versucht.

(? =. ) (? =. ) (? =. \ d) (? =. [@ # $% ^ & * -_ + = {} | \: ",? / ~"();!])({}|\\:",?/ ~" (); ] |. (?! @)) {6,16} $

Beantwortet die Frage nicht direkt, aber sollte es wirklich eine Regex sein?

Ich habe viel Perl verwendet und mich daran gewöhnt, Regex-Probleme zu lösen. Da sie jedoch mit all dem Aussehen und anderen Macken komplexer werden, müssen Sie Dutzende von Unit-Tests schreiben, um all diese kleinen Fehler zu beseitigen.

Außerdem ist Regex normalerweise um ein Vielfaches langsamer als eine zwingende oder funktionale Lösung.

Zum Beispiel löst die folgende (nicht so FP) Scala-Funktion die ursprüngliche Frage etwa dreimal schneller als die Regex der beliebtesten Antwort. Was es tut, ist auch so klar, dass Sie keinen Unit-Test benötigen:

Def validePassword (password: String): Boolean = (if (password.length< 8) return false var lower = false var upper = false var numbers = false var special = false password.foreach { c =>if (c.isDigit) Zahlen = true else if (c.isLower) Lower = true else if (c.isUpper) upper = true else special = true) Lower && Upper && Zahlen && Special)

Versuche dies:

^.*(?=.{8,})(?=.*)(?=.*)(?=.*[@#$%^&+=])*$

Diese Regex funktioniert super für mich.

Funktion myFunction() (var str = " [E-Mail geschützt]"; var patt = new RegExp (" ^. * (? =. (8,)) (? =. *) (? =. *) (? =. * [@ # $% ^ & + =]) * $ "); var res = patt.test (str); console.log (" Ist reguläre Übereinstimmungen: ", res);)

Wir können es einfach mit HTML5 tun.

Verwenden Sie den folgenden Code im Vorlagenattribut,

Muster = "(? = ^. (8,) $) ((? =. * \ D) (? =. * \ W +)) (?! [. \ N]) (? =. *) (? = .*). * $ "

Es wird großartig funktionieren.

Reguläre Ausdrücke haben keinen AND-Operator, daher ist es ziemlich schwierig, eine Regex zu schreiben, die mit gültigen Passwörtern übereinstimmt, wenn die Gültigkeit durch etwas UND etwas anderes UND etwas anderes definiert wird ...

Regexes haben jedoch einen ODER-Operator, wenden Sie also einfach das Theorem von DeMorgan an und schreiben Sie eine Regex, die mit ungültigen Passwörtern übereinstimmt:

Alles mit weniger als acht Zeichen ODER alles ohne Zahlen ODER nichts als Großbuchstaben ODER ODER nichts, keine Kleinbuchstaben ODER nichts als Sonderzeichen.

^ (. (0,7) | [^ 0-9] * | [^ A-Z] * | [^ a-z] * | *) $

Wenn etwas damit übereinstimmt, ist es das falsche Passwort.

Die Lösung, die ich in einer der vorherigen Antworten gefunden habe:

Mindestens 8 Zeichen, mindestens 1 alphabetisches Alphabet, 1 Kleinbuchstaben, 1 Zahl und 1 Sonderzeichen: „^ (? =. ) (? =. ) (? =. \ D) (? =. [ $ @ $!% ? &]) {8,} "

Funktioniert bei mir nicht, aber die folgende vereinfachte Version funktioniert einwandfrei (füge ein beliebiges Sonderzeichen hinzu, ich habe hier # hinzugefügt) und füge eine Zahlenregel hinzu, genau wie bei Buchstaben:

"^(?=.*)(?=.*)(?=.*)(?=.*[[E-Mail geschützt]$!%*?&]){8,}"

Ich würde Peter Mortensen antworten, aber ich habe nicht genug Ruf.

Seine Ausdrücke sind ideal für jede der angegebenen Mindestanforderungen. Das Problem mit seinen Ausdrücken, die keine Sonderzeichen erfordern, ist, dass sie auch keine Sonderzeichen haben und auch maximale Anforderungen stellen, was ich der Anfrage des OP nicht glaube. Normalerweise möchten Sie, dass Ihre Benutzer ihr Kennwort so stark machen, wie sie es möchten. Warum starke Passwörter einschränken?

Also seine "mindestens acht Zeichen, mindestens ein Buchstabe und eine Zahl":

^ (? =. *) (? =. * \ d) (8,) $

erreicht die Mindestanforderung, aber der Rest der Zeichen kann sein nur Buchstaben und Zahlen. Um Sonderzeichen zuzulassen (aber nicht zu verlangen), sollten Sie Folgendes verwenden:

^ (? =. *) (? =. * \ d). (8,) $ um beliebige Zeichen zuzulassen

^ (? =. *) (? =. * \ d) (8,) $ um Sonderzeichen zuzulassen

Ebenso „mindestens acht Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe und eine Zahl:

^ (? =. *) (? =. *) (? =. * \ d) (8,) $

erfüllt diese Mindestanforderung, erlaubt aber nur Buchstaben und Zahlen. Verwendungszweck:

^ (? =. *) (? =. *) (? =. * \ d). (8,) $ um beliebige Zeichen zuzulassen

^ (? =. *) (? =. *) (? =. * \ d) (8,) um Sonderzeichen zuzulassen.

Verwenden Sie den folgenden Regex, um die folgenden Bedingungen zu erfüllen: Bedingungen: 1] Mindestens 1 Großbuchstabe. 2] Mindestens 1 Kleinbuchstabe. 3] Mindestens 1 Sonderzeichen. 4] Mindestens 1 Zahl. 5] Mindestens 8 Zeichen. 6] Maximal 30 Zeichen. Regex: /^(?=.*)(?=.*)(?=.*\d)(?=.*†# [E-Mail geschützt]!%&*?]){8,30}$/

263 Swapnil Tatkondawar

Ich möchte, dass eine Regex das überprüft:

Das Passwort enthält mindestens acht Zeichen, darunter mindestens eine Zahl, sowie Groß- und Kleinbuchstaben sowie Sonderzeichen wie #,? ,! ...

Es darf nicht Ihr altes Passwort sein oder Ihren Benutzernamen, "Passwort" oder "Website-Name" enthalten.

Und hier ist mein Testausdruck für acht Zeichen, einschließlich eines Großbuchstabens, eines Kleinbuchstabens und einer Zahl oder eines Sonderzeichens.

(? = ^. (8,) $) ((? =. * \ D) | (? =. * \ W +)) (?! [. \ N]) (? =. *) (? =. * ). * $ "

Wie kann ich es schreiben, das Passwort muss acht Zeichen lang sein, einschließlich eines Großbuchstabens, eines Sonderzeichens und alphanumerischer Zeichen?

Javascript regex asp.net

24 Antworten

Mindestens acht Zeichen, mindestens ein Buchstabe und eine Zahl:

"^ (? =. *) (? =. * \ d) (8,) $"

Mindestens acht Zeichen, mindestens ein Buchstabe, eine Zahl und ein Sonderzeichen:

"^ (? =. *) (? =. * \ d) (? =. * [@ $!% * #? &]) $!%*#?&]{8,}$"

Mindestens acht Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe und eine Zahl:

"^ (? =. *) (? =. *) (? =. * \ d) (8,) $"

Mindestens acht Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl und ein Sonderzeichen:

$!%*?&]{8,}$"

Mindestens acht und maximal 10 Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl und ein Sonderzeichen:

"^ (? =. *) (? =. *) (? =. * \ d) (? =. * [@ $!% *? &]) $!%*?&]{8,10}$"

Reguläre Ausdrücke haben keinen AND-Operator, daher ist es ziemlich schwierig, eine Regex zu schreiben, die mit gültigen Passwörtern übereinstimmt, wenn die Realität durch etwas UND etwas anderes UND etwas anderes bestimmt wird ...

Regexes haben jedoch einen ODER-Operator, wenden Sie also einfach das Theorem von DeMorgan an und schreiben Sie eine Regex, die mit ungültigen Passwörtern übereinstimmt:

Alles unter acht Zeichen ODER nichts, keine Zahlen ODER, keine Großbuchstaben ODER oder nichts als Kleinbuchstaben ODER alles, was keine Sonderzeichen hat.

^ (. (0,7) | [^ 0-9] * | [^ A-Z] * | [^ a-z] * | *) $

Wenn etwas damit übereinstimmt, ist es das falsche Passwort.

Nur eine kleine Verbesserung der Antwort von @anubhava: Da das Sonderzeichen auf die Tastatur beschränkt ist, verwenden Sie es für jedes Sonderzeichen:

^ (? =. *?) (? = (. *) (1,)) (? = (. * [\ D]) (1,)) (? = (. * [\ W]) (1, )) (?!. * \ s). (8,) $

Diese Regex folgt den folgenden Regeln:

  • Mindestens ein englischer Großbuchstabe
  • Mindestens ein englischer Kleinbuchstabe
  • Mindestens eine Ziffer
  • Mindestens ein Sonderzeichen
  • Mindestens acht in der Länge

Ich hatte Schwierigkeiten, den populärsten Antworten auf meine Umstände zu folgen. Zum Beispiel ist meine Prüfung mit Zeichen wie fehlgeschlagen; oder [ . Ich war nicht an Whitelistings meiner Sonderzeichen interessiert, daher habe ich stattdessen [^ \ w \ s] als Test verwendet - einfach ausgedrückt - übereinstimmende Zeichen ohne Wörter (einschließlich numerischer Zeichen) und ohne Leerzeichen. Zusammenfassend hat Folgendes bei mir funktioniert ...

  • mindestens 8 Zeichen
  • mindestens 1 numerisches Zeichen
  • mindestens 1 Kleinbuchstabe
  • mindestens 1 Großbuchstabe
  • mindestens 1 Sonderzeichen
/^(?=.*?)(?=.*?)(?=.*?)(?=.*? [^\w\s>).(8,)$/

Ich würde Peter Mortensen antworten, aber ich habe nicht genug Ruf.

Seine Ausdrücke sind ideal für jede der angegebenen Mindestanforderungen. Das Problem mit seinen Ausdrücken, die keine Sonderzeichen erfordern, ist, dass sie auch keine Sonderzeichen ERLAUBEN, sodass sie auch die maximale Anforderung erzwingen, die meiner Meinung nach vom OP nicht verlangt wird. Normalerweise möchten Sie, dass Ihre Benutzer ihre Kennwörter so stark machen, wie sie möchten. Warum starke Passwörter einschränken?

Also sein Ausdruck "mindestens acht Zeichen, mindestens ein Buchstabe und eine Zahl":

^ (? =. *) (? =. * \ d) (8,) $

erreicht minimale Anforderungen, aber die restlichen Zeichen können nur Buchstaben und Zahlen sein. Um Sonderzeichen zuzulassen (aber nicht zu verlangen), sollten Sie Folgendes verwenden:

^ (? =. *) (? =. * \ d). (8,) $ um beliebige Zeichen zuzulassen

^ (? = \ S *) (? = \ S *) (? = \ S * \ d) (? = \ S * [^ \ w \ s]) \ S (8,) $

aber es akzeptiert kein _ (Unterstrich) als Sonderzeichen (wie Aa12345_).

Dies wurde verbessert:

^ (? = \ S *) (? = \ S *) (? = \ S * \ d) (? = \ S * ([^ \ w \ s] | [_])) \ S (8,) $

Verwenden Sie den folgenden regulären Ausdruck, um die folgenden Bedingungen zu erfüllen:

Bedingungen: 1] Mindestens 1 Sonderzeichen. 2] Mindestens 1 Zahl. 3] Mindestens 8 Zeichen oder mehr
Gastroguru 2017