Regex(用于jQuery)验证带2个小数点的正数

Regex(用于jQuery)验证带2个小数点的正数,jquery,regex,validation,match,Jquery,Regex,Validation,Match,我需要使用jQuery将一个字段与正则表达式匹配。目前我正在使用: onsubmit: function (settings, td) { //select integers only var intRegex = /[0-9 -()+]+$/; var input = $(td).find('input'); var original = input.val(); if

我需要使用jQuery将一个字段与正则表达式匹配。目前我正在使用:

 onsubmit: function (settings, td) {
            //select integers only
            var intRegex = /[0-9 -()+]+$/;
            var input = $(td).find('input');
            var original = input.val();

            if (original <= 0) {
                Alert('The amount should be bigger than 0');
                return false;
            }
            if (!original.match(intRegex)) {
                Alert('Please enter a valid number');
                return false;
            }
            else {
                return true;
            }
        }
on提交:功能(设置,td){
//仅选择整数
var intRegex=/[0-9-()+]+$/;
var input=$(td.find('input');
var original=input.val();
如果(原始使用:


这应该行得通。

以下是原始正则表达式出现误报的原因:

var regxp = /^\d+(\.\d{1,2})?$/;
/[0-9 -()+]+$/
     ^^^
带下划线的第一部分构成了从空格字符(
U+0020
)到左括号(
U+0028
)的范围,使正则表达式等效于:

/[0-9 !"#$%&'()+]+$/
如果要匹配连字符,则需要使用反斜杠将其转义,或将其放置在集合的开头或结尾,如下所示:

/[0-9 ()+-]+$/  
另外,如果你说的“regex库”是指RegExLib.com,我不会相信我在那里找到的任何regex。你发布的一个例子就是:

/(^\d*\.?\d*[0-9]+\d*$)|(^[0-9]+\d*\.\d*$)/
首先,它可以写得更简洁:

/^(\d*\.?\d+|\d+\.\d*)$/
其次,它匹配字符串,如
123.
000000.0000000
,这可能是您不想要的。如果您真的只想匹配正数,您必须确保字符串中至少有一个非零数字,在小数点之前或之后。以下是一种方法:

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

我需要添加什么吗?因为如果我放置var intRegex=^\d+(?:。\d\d)$,我会得到语法错误;谢谢!请参阅后期编辑,我包括了var初始化以及我发现的错误谢谢您的友好和快速帮助!提示:这是一个很好的regexp测试站点:谢谢您的介绍:)
/^(?:[1-9]\d*(?:\.\d\d?)?|0\.[1-9]\d?|0\.0[1-9])$/