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