2012-05-27 31 views
10

我有以下代碼。它只有當我有2位數時纔有效。如果我有1位數字不起作用。我想在兩種情況下工作:一位或兩位數字。
var numberRegex = /^[1-9][0-9]$/;
我已經試過這樣的事情但不幸的是不起作用:
var numberRegex = /^[1-9]?[1-9][0-9]$/;
謝謝支持。一個或兩個數字Regex

回答

15

試試這個:

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

讀你有什麼樣子,你不想接受像01號碼。

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

第二個正則表達式不太正確。 '|'具有比'^'和'$'更低的優先權。你也可以通過簡單的使['1-9]'可選。 '/^[1-9]?\ d {1} $ /' –

+0

剛剛意識到你可以做得更好 - '\ d {1}'是多餘的,相當於'\ d'。 –

+6

我會用'/^[1-9]?\ d $ /''去替換,只需要讓前導數字可選。 –

0

試試這個正則表達式:/^[1-9]\d{0,1}$/

1

試試這個。

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

這應該做的工作。使用Or運算符可以實現。

+0

這是Regex初學者的絕佳解決方案 – GoreDefex

相關問題