2017-05-05 3 views
2
  1. Die einzigen Zahlen im Benutzernamen müssen am Ende sein. Es kann null oder mehr von ihnen am Ende geben.Validierung von userName mit Regex

  2. Benutzernamen Buchstaben können Klein- und Großbuchstaben sein.

  3. Benutzernamen müssen mindestens zwei Zeichen lang sein. Ein aus zwei Buchstaben bestehender Nutzername kann nur alphabetische Buchstaben verwenden.

Ich versuche mit diesem aber ich bin ins Stocken geraten. /\d+$\w+/gi

+1

Mögliche Duplikat von [ Regulärer Ausdruck zur Validierung des Benutzernamens] (http://stackoverflow.com/questions/12018245/regular-expression-to-validate-username) – Kzqai

+0

@Kzqai erfüllt die Anforderung von OP nicht. –

+0

Sprechen Sie aus Erfahrung, verwenden Sie keinen Benutzernamen, verwenden Sie einfach eine E-Mail und einen Anzeigenamen (für den sie setzen können, was sie wollen). Niemand möchte einen anderen Benutzernamen für eine andere Website beibehalten. Außerdem, mit Benutzernamen, müssen Sie jeden Validierungsfehler einzeln melden (Benutzername zu lang, Benutzername braucht ein Kapital, bla bla bla). Nur "Benutzername ungültig" ist eine schlechte UX. Was macht es ungültig? Überspringe es, benutze E-Mails. – Kzqai

Antwort

3

/^[a-z]{2,}\d*$/i ist:

^  : the begining 
[a-z] : a character (a to z), you can add as many allowed characters as you want 
{2,} : at least 2 of them 
\d* : 0 or more digits 
$  : the end 
i  : ignore case sensetivity (both lowercases and uppercases are allowed) 
+1

Das hat funktioniert! Gelernt über die {2,} –

+0

Dann sollten Sie dies als richtig markieren. –

2

Benutzername Zeichen und Ziffer und mindestens 2 Zeichen lang mit

/^[a-zA-Z]{2,}\d*$/i 

Testergebnis:

UserNam9 = pass 
9username = fail 
Userna99 = pass 
usernameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee = pass 
Us = pass 
U = fail 
+0

dieser Regex ist falsch, und es hat mehrere Probleme. Zuerst erlauben Sie auf diese Weise Zahlen auch am Anfang. Dann ist es nutzlos, wenn Sie a-zA-Z angeben. Es macht Sinn, wenn Sie nur a-z verwenden. Außerdem akzeptieren Sie auf diese Weise auch nur zwei Zahlen. – quirimmo

+0

Was? Sie haben Recht, dass das '[a-zA-Z]' unnötig ist, nicht falsch, aber unnötig. Aber der Rest ist richtig ... –

0
/^[A-z]{2,}[A-z0-9]{0,}$/ 
/^ // start of line 
[A-z]{2,} //alphabet characters 2 or more 
[A-z0-9]{0,} //numbers and alphabet 
$/ // end of line