2017-02-24 3 views
-2

Ich versuche, Eingabe nach jedem Tastendruck zu validieren. Um dies zu tun, ich habe den folgenden Code:Regex gibt immer false auf keyup

var passwordMain = $('#reg-password-one'), 
     regExOne = new RegExp('A-Z'); 

    passwordMain.keyup(function(){ 
     console.log(regExOne.test(passwordMain.val())) 
    }) 

Die außer Betrieb gesetzt ist immer falsch, wenn ich versuche, „ABC“

Bin ich auf diese in der falschen Art und Weise suchen?

+6

Sie scheinen eine Zeichenklasse zu fehlen. '[A-Z]' –

+0

Was möchten Sie testen? –

+0

Danke, so ein einfacher Fehler. Funktioniert jetzt mit [] – Mark

Antwort

2

Ihre aktuelle Regex bedeutet wörtlich A-Z.

Um nur Großbuchstaben zuzulassen, müssen Sie sie in die Zeichengruppe eingeben.

[A-Z] 

Aber das wird nur einen einzigen Buchstaben erlauben. Um mehrere Buchstaben zuzulassen, müssen Sie auch einen Quantor hinzufügen. Es kann ?/+/{n,m} sein. In Ihrem Fall wäre es also {6,}, mehr als 6 Symbole für ein stärkeres Passwort einzugeben.

Am Ende Ihrer regex ist

/[A-Z]{6,32}/ 
Verwandte Themen