2016-02-26 156 views
0

我想允許的輸入值作爲A +,B +,A-,B-或2十進制值等100.00,90.0像這樣正則表達式來允許某些輸入值

如何寫的正則表達式上面的輸入?簡單地說,我想讓分數(A +,A-,B +,B - ),十進制值(10.05,20.00)。

+2

發佈您的嘗試.. –

+0

/^^(a+|A+|b+|B+)/i.test(value) –

+0

但如何允許以上和小數值 –

回答

1

下面的正則表達式將會對您有所幫助:

[AB][+-]|\d{2}\.\d{2} 

描述和演示在:Demo

1

對於我所看到的,我會用這個表達式(我敢打賭,你可以優化它)。

^([A-GOa-go][+-])|((\d{1,2}(?!\d)\.\d{2}|100\.00),(\d{1,2}(?!\d)\.\d{2}|100\.00))$ 

Here is the demo

+0

但浮點值應該小於100只 –

+0

@muralikalpana所以你的例子是錯誤的?你提供了等於100(不少於100)的100.00。漂浮2精度? – Stilleur

+0

(A | B | C | D | E | F | G | O | a | b | c | d | e | f | g | o)[+ - ] | \ d {3} \。\ d {2 } –

0

試試這個:

([AB][+-]|(100|\d{2})\.\d{2}) 

這,在我看來,會爲你期待

工作

在線測試:RegExr.com

編輯:

下面你期待什麼,我建議你這個表達式:

^([AB][+-]|(100|\d{2})\.\d{2})$ 

只會匹配,如果匹配整個字符串,而不再返回02.00匹配102.00(例如)

+0

感謝您的回覆。但它允許102.00也 –

+0

RegExr不匹配整個字符串「102.00」,但實際上匹配「02.00」。你必須測試整個字符串是否匹配。 我更新了在線測試,顯示我說的內容(僅02.00亮點):[link](http://regexr.com/3cssf) – Charly

+0

如何允許A,A + –