Javascript 正则表达式错误:无需重复

Javascript 正则表达式错误:无需重复,javascript,regex,Javascript,Regex,我尝试了一个正则表达式来验证一个带或不带小数(最多2位)的数字。 是我干的 var patt= /(^\d+[.]?\d{1,2}+$)/g; 它在RegExr应用程序中工作 但是在chrome中有一个错误 SyntaxError: Invalid regular expression: /(^\d+[.]?\d{1,2}+$)/: Nothing to repeat 我在这方面做错了什么?请帮助。谢谢。试试这个regexp: var patt = /^\d+(\.\d{1,2})?$/

我尝试了一个正则表达式来验证一个带或不带小数(最多2位)的数字。 是我干的

var patt=  /(^\d+[.]?\d{1,2}+$)/g;
它在RegExr应用程序中工作

但是在chrome中有一个错误

SyntaxError: Invalid regular expression: /(^\d+[.]?\d{1,2}+$)/: Nothing to repeat
我在这方面做错了什么?请帮助。谢谢。

试试这个regexp:

var patt =  /^\d+(\.\d{1,2})?$/g;
使您的regexp不正确的原因是
+
{1,2}

尝试此regexp:

var patt =  /^\d+(\.\d{1,2})?$/g;

使您的regexp不正确的是
+
{1,2}
之后签名,您不能使用
\d{1,2}+

{n,m}
表示前一个字符必须出现
n
m

+
表示前一个字符必须至少出现一次


您不能同时使用这两个

您不能同时使用
\d{1,2}+

var patt = /^\d+\.?\d{1,2}$/g;
{n,m}
表示前一个字符必须出现
n
m

+
表示前一个字符必须至少出现一次


不能同时使用这两个

这部分正则表达式是错误的:
\d{1,2}+

var patt = /^\d+\.?\d{1,2}$/g;
+
表示重复1次或多次,
{1,2}
表示重复1次或2次。所以你有两个重复的东西在对方面前。这行不通

如何解决这个问题

  • 删除
    +
    以重复数字(0-9)1或2次
  • 删除
    {1,2}
    以尽可能多地重复一个数字1次或更多次

正则表达式的这部分是错误的:
\d{1,2}+

+
表示重复1次或多次,
{1,2}
表示重复1次或2次。所以你有两个重复的东西在对方面前。这行不通

如何解决这个问题

  • 删除
    +
    以重复数字(0-9)1或2次
  • 删除
    {1,2}
    以尽可能多地重复一个数字1次或更多次