2012-02-11 17 views
1

正規表現を試して、最大2桁の小数の有無を検証しました。 私はこれをしました正規表現エラー:何も繰り返さない

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

RegExrアプリケーションで動作しています。

が、クロームで、私はこの中で何を間違ったのエラー

SyntaxError: Invalid regular expression: /(^\d+[.]?\d{1,2}+$)/: Nothing to repeat 

がやっているのですか?助けてください。ありがとうございます。あなたの正規表現が間違って作ったもの

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

{1,2}+サインです:

答えて

2

は、この正規表現を試してみてください。

+0

ありがとうございました。これは必要に応じて動作しています。ありがとうございます.. – Irfan

4

\d{1,2}+は使用できません。

{n,m}は、前の文字は、nm回発生する必要があると言います。

+は、前の文字は少なくとも1回は現れなければならないと言います。

あなたが正規表現のこの部分が間違っている
0
var patt = /^\d+\.?\d{1,2}$/g; 
0

一緒

をこれらの両方を使用することはできません

\d{1,2}+

+は、それが1回以上の繰り返しを意味し、{1,2}は、それが1またはを繰り返し意味2回。だからあなたはお互いの前に2つの反復することがある。これは動作しません。

これを解決するにはどうすればよいですか?

  • +が数字を1回以上繰り返すこと{1,2}を削除(0-9)1又は2回
  • 桁を繰り返す削除し、とりうる限り。
関連する問題