Regulärer Ausdruck für die Passwort-überprüfung, die nicht Räumen
Ich brauche einen regulären Ausdruck für meine Ruby on Rails Anwendung für das Passwort-Feld.
Jedes Zeichen oder Zahl oder Sonderzeichen erlaubt, außer space.
- Aus Interesse, warum würdest du nicht Platz?
- ist es ratsam, Leerzeichen im Passwort?
- es ist nicht ungewöhnlich, um zu ermöglichen Leerzeichen im Passwort. Windows, zum Beispiel, akzeptiert Leerzeichen in Passwörtern. Indem Räume, erhöhen Sie die Gesamtzahl der möglichen Kennwörter, die Benutzer verwenden können, so hilft die Passwörter schwerer zu brute-force, damit die Passwörter sicherer. Es gibt wenig bis keinen Grund nicht zu ermöglichen Leerzeichen in Kennwörtern.
- Ist diese Validierung geschieht client-seitig (Javascript) oder serverseitig (Ruby)? Ich denke, dass diese letzten änderungen sind falsch, und die Verwendung von Schienen ist nebensächlich. Ich auch nicht einverstanden mit der Frage geschlossen, wie ein zu breit, es ist eine ziemlich spezielle Anforderung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn das client-seitige Validierung in Javascript (oder einer anderen Sprache als Ruby), dieser Ausdruck mit einem string ohne whitespace (
\S
) aus mindestens einem Zeichen (+
), no max:^\S+$
Ruby ist die einzige Sprache, die verwendet multi-line-Modus standardmäßig, so dass die start-of-line -
^
-und end-of-line$
anders Verhalten (Sie entsprechen einmal pro Eingabe, egal wie viele Zeilen). Also, wenn Sie die Validierung der Eingabe in Ruby, würden Sie brauchen, zu verwenden\A
für start-of-line-und\Z
für end-of-line.\A\S+\Z
^
meine, in einer Ruby-regex? Wie wäre$
?ruby
undruby-on-rails
- tags wurden Hinzugefügt gestern. Ich denke, dass die überprüfung tatsächlich durchgeführt client-Seite, also meine Antwort ist für Javascript (oder einer anderen Sprache außer Ruby). Ruby ist die einzige Sprache, die verwendet multi-line-Modus standardmäßig, so können Sie ersetzen^
mit\A
und$
mit\Z
.Alles außer Leerzeichen, müssen Sie Grenzen Sie die Ergebnisse ein bisschen mehr als das?
Dies ist ohne ein Mindestmaß an Länge (oder besser gesagt, mit mindestens der Länge 1):
Mit Mindestlänge 8:
oder, wenn die regex-engine unterstützt es (weiß nicht, warum es wäre nicht):
.
gemischt mit\w
/\S
für einen moment.\w
immer noch nicht die Rechnung passen, fürchte ich. OP fragt nach "beliebiges Zeichen oder zahlen oder Symbole" gehören würde, Satzzeichen.\w
ist nur alphanumerische Zeichen und Unterstrich.^
hat nicht bedeutet Anfang der Zeichenfolge in Ruby regexes,$
hat nicht bedeutet Binär.