2012-05-27 14 views
10

Ho il seguente codice. Funziona solo quando ho 2 cifre. Se ho 1 cifra non funziona. Voglio lavorare in entrambi i casi: uno o due cifre.
var numberRegex = /^[1-9][0-9]$/;
Ho provato qualcosa di simile, ma purtroppo non funziona:
var numberRegex = /^[1-9]?[1-9][0-9]$/;
Grazie per il supporto.Uno o due cifre numeriche Regex

risposta

15

Prova questo fuori:

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

Leggendo quello che hai sembra che non si vuole accettare numeri come 01.

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

La seconda espressione regolare non è corretta. '|' ha una precedenza inferiore rispetto a '^' e '$'. Puoi anche semplificare semplicemente rendendo '[1-9]' opzionale. '/^[1-9]? \ D {1} $ /' –

+0

Appena realizzato si può fare anche meglio - '\ d {1}' è ridondante, ed equivalente a '\ d'. –

+6

Vorrei andare con '/^[1-9]? \ D $ /' Non c'è bisogno di alternanza, basta rendere la cifra iniziale opzionale. –

0

provare questo regex: /^[1-9]\d{0,1}$/

1

Prova questa.

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

Questo dovrebbe fare il lavoro. Usando un operatore O lo fa.

+0

Questa è una soluzione eccellente per i principianti di Regex – GoreDefex

Problemi correlati