Javascript 十进制数的正则表达式

Javascript 十进制数的正则表达式,javascript,regex,Javascript,Regex,在我的phonegap应用程序中,我需要用正则表达式验证文本框,正则表达式应该只包含数字和两位小数 以下是我尝试过的示例: rexp: /^-?\d+\.?\d*$/ 此代码只允许数字,但在点(.)之后,它接受许多数字。但我应该只允许两个。请指导我解决这个问题。您可以使用“{x}”修饰符显式地确定匹配数: rexp: /^-?\d+\.?(\d{2})?$/ 我怀疑当指定了一个点时,您只希望有两个数字。然后您将修改regexp,如下所示: rexp: /^-?\d+(\.\d{2})?$/

在我的phonegap应用程序中,我需要用正则表达式验证文本框,正则表达式应该只包含数字和两位小数

以下是我尝试过的示例:

rexp: /^-?\d+\.?\d*$/

此代码只允许数字,但在点(.)之后,它接受许多数字。但我应该只允许两个。请指导我解决这个问题。

您可以使用“{x}”修饰符显式地确定匹配数:

rexp: /^-?\d+\.?(\d{2})?$/
我怀疑当指定了一个点时,您只希望有两个数字。然后您将修改regexp,如下所示:

rexp: /^-?\d+(\.\d{2})?$/

我创建了一个JSFiddle来显示正则表达式的工作方式以及它们之间的区别:

@fabriciomattéCorrect,我已经解决了这个问题。@Erik我已经使用了你的代码,现在我无法键入任何内容textbox@Sudha我添加了一个JSFIDLE,显示了它们是如何工作的。我使用^-?\d+\.?\d?$@Sudha解决了这个问题。我认为这是不对的。该版本还将成功匹配字符串“77.”和“77.1”(请参阅)。我相信正确的答案是“/^-?\d+(\.\d{2})?$/”