2012-06-25 4 views

Antwort

26

Sprinkle in einigen positive lookahead wie so für die gesamte Länge der Saite zu testen

/^(?=.{3,16}$)[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/ 
+2

+1 für spranklin '(und auch richtig) – Wiseguy

+0

+1 für die sprankle –

0

Ich weiß nicht, warum Sie das tun müssen, aber Sie könnten versuchen, Ihren Ausdruck in 2 Strings aufzuteilen und sie später zu verketten. Sind Sie sicher, dass es keine andere Möglichkeit gibt, Ihre Eingaben zu validieren? Wie eine bereits vorhandene Bibliothek oder so.

+0

können sagen, ist ein Benutzername und ich brauche es ist zwischen 3 und 16 Zeichen lang – user558134

0

Verwenden regex

/^[a-z](?:[a-z\d]|_(?!_)){1,14}[a-z\d]$/

oder

/^(?=.{3,16}$)[a-z][a-z\d]*(?:_[a-z\d]+)*$/