2014-01-10 223 views
1

儘管聽起來很簡單,但我還是很困難,我需要一個正則表達式來匹配輸入到字段中的0或1,並且根本不會有任何其他字符,無論是數字還是字母,任何幫助都會很多讚賞。正則表達式匹配0或1

+3

'if(x === 0 || x === 1)''有什麼問題? – elclanrs

+3

測試:'/^0 | 1 $ /' – higuaro

+0

我同意@elclanrs,這聽起來並不像真正需要正則表達式的東西,除非它是HTML5驗證或類似的東西。 – adeneo

回答

0

試試這個正則表達式:/^(0|1)$/

例子:

/^(0|1)$/.test(0); // true 
/^(0|1)$/.test(1); // true 
/^(0|1)$/.test(2); // false 
/^(0|1)$/.test(1001) // false 
+0

好的,很抱歉,已完成的更改... –

0

我evaluatoin在這裏建議簡單的字符串,因爲你在輸入字符串只有兩個已知的可接受值:

var input; // your input string assume it is populated elsehwere 
if (input === '0' || input === '1') { 
    // pass 
} 

注在這裏使用嚴格的字符串比較來消除與真/假值匹配。

如果你真的地獄正則表達式嘗試彎曲:

/^[01]$/ 

這裏的關鍵是開始^和結束$錨。

3

單字符,0或1:

/^[01]$/ 

多的0或1(任何順序,沒有其他字符):

/^[01]+$/g 

Demo(剛加入+用於第二實施例中的。 gm在演示結束時只是爲了舉例,因爲測試用例有多行)

+0

是否有一個原因使得downvoted我沒有看到? –

+0

idk?我沒有這樣做,但也許是因爲你必須有一個鏈接的登錄帳戶? – Brad

+0

這是一個很好的可能性。我沒有注意到(因爲我登錄)。我會看看我必須做些什麼來獲得公共的,可分享的鏈接。 –