2016-02-26 162 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 + –