正整数只匹配正整数和正浮点值

时间:2015-03-10 10:09:21

标签: javascript regex

对于我的项目,我需要一个匹配价格输入的正则表达式:

(25.99, 15.5, 30.00, 0.5 or 50)

但不接受:

(0, 0.00, -25.99, -50, $32 or  €32).

我找到了一些正则表达式,但没有一个满足我的要求。 以下是我目前的正则表达式,但它不符合我的条件:

^(\$|)([1-9]\d{0,2}(\,\d{3})*|([1-9]\d*))(\.\d{2})?$

3 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

/^(?![0.]+$)\d+(\.\d{1,2})?$/gm

RegEx Demo

答案 1 :(得分:0)

怎么样:

^[1-9]\d*(?:\.\d\d?)?$

答案 2 :(得分:0)

你可以在没有正则表达式的情况下做到这一点吗?

val = parseFloat(str);
if (val > 0.0 ) {
  console.log('Correct');
} else {
  console.log('Wrong');
}