2012-05-27 15 views
10

Ich habe den folgenden Code. Es funktioniert nur, wenn ich 2 Ziffern habe. Wenn ich 1 Ziffer habe funktioniert das nicht. Ich möchte in beiden Fällen arbeiten: ein- oder zweistellig.
var numberRegex = /^[1-9][0-9]$/;
Ich habe so etwas wie dies versucht, aber leider nicht funktioniert:
var numberRegex = /^[1-9]?[1-9][0-9]$/;
Dank für die Unterstützung.Ein oder zwei Ziffern Regex

Antwort

15

diese eine ausprobieren:

/^\d{1,2}$/; 

Lesen, was Sie haben es, wie Sie Zahlen wie 01 zu akzeptieren, nicht wollen aussieht.

/^\d{1}|[1-9]\d{1}$/; 
+0

Der zweite Regex ist nicht ganz richtig. '|' hat eine niedrigere Priorität als '^' und '$'. Sie können auch vereinfachen, indem Sie einfach das '[1-9]' optional machen. '/^[1-9]? \ D {1} $ /' –

+0

Ist dir klar, dass du es noch besser machen kannst - '\ d {1}' ist überflüssig und entspricht \ \. –

+6

Ich würde mit '/^[1-9] gehen? \ D $ /' Keine Notwendigkeit für den Wechsel, nur die führende Ziffer optional machen. –

0

versuchen, diese Regex: /^[1-9]\d{0,1}$/

1

bereits.

/^[0-9]|[0-9][0-9]$/ 

Dies sollte die Aufgabe erledigen. Mit einem Oder-Operator wird es gemacht.

+0

Dies ist eine ausgezeichnete Lösung für Anfänger von Regex – GoreDefex

Verwandte Themen