Überprüfen Sie, ob eine Zeichenfolge mithilfe von Regex URL-sicher ist

8

Ich habe eine Website, auf der Benutzer einen Benutzernamen auswählen können. Derzeit können sie fast alle Zeichen einschließlich Dinge wie @! # etc.

Ich weiß, dass ich eine Regex benutzen kann, und das ist wahrscheinlich das, was ich wählen möchte.

Ich werde eine negierte Menge verwenden, von der ich annehme, dass sie das richtige Werkzeug ist:

%Vor%

Also, wie kann ich alle illegalen Charaktere kennen, die in dieses Set passen? Ich kann manuell beginnen, diejenigen, die offensichtlich sind, wie! @ # $% ^ & Amp; * (), aber gibt es eine einfache Möglichkeit, dies zu tun, ohne manuell jeden einzelnen von ihnen in?

Ich weiß, dass viele Websites nur Zeichenfolgen zulassen, die Alphabete, Zahlen, Bindestriche oder Unterstriche enthalten. So etwas würde gut für mich funktionieren.

Jede Hilfe würde sehr geschätzt werden.

Danke S.O.!

    
Isaiah Lee 25.06.2014, 21:40
quelle

3 Antworten

15

Platziere nur das, was du in deiner Charakterklasse zulassen willst, anstatt die Negation zu verwenden.

%Vor%

Erläuterung :

%Vor%     
hwnd 25.06.2014, 21:47
quelle
2

Anstatt Werte zu leugnen, ist es vielleicht besser, nur einige

zuzulassen

[: word:] - Ziffern, Buchstaben und Unterstriche

Überprüfen Sie dieses Diagramm

Ссылка

    
brunofitas 25.06.2014 21:44
quelle
2

Einer der Gründe, warum Sie eine inklusive Menge verwenden möchten, ist, dass die Begrenzung schlechter Zeichen mit allen Unicode-Varianten sehr schwierig ist. Zeichen wie ß, ñ, oœ, æ werden Ihnen wahrscheinlich Kopfschmerzen bereiten. Wenn Sie den Benutzernamen auf nur eine Teilmenge der von Ihnen angegebenen Buchstaben beschränken, können Sie einfach alles andere herausschneiden, das Sie nicht dort haben möchten.

    
OnlineCop 25.06.2014 21:48
quelle

Tags und Links