1

次の値を受け入れることができるような正規表現を作成したい:-

100, 100.00, (100),(100.00),$100, $100.00, $(100), $(100.00)

そして、私は次の正規表現を構築することに成功しました:-

/^(\$?(?=\d*(\.\d{1,3})?$))|^(\$?\((?=\d*(\.\d{1,3})?\)$))/

ただし、値が$だけの場合、上記の正規表現は失敗します

値が$だけの場合は、受け入れないようにする必要があります。

しかし同時に、空白の値も受け入れる必要があります。

私を助けてください。

前もって感謝します

4

2 に答える 2

3

整数部分は決してオプションではないようです。そのため、正規表現で必須になっていることを確認する必要があります(現時点では、空の文字列でも正規表現を渡すことができます)。

/^\$?(?:\d+(?:\.\d{1,3})?$|\(\d+(?:\.\d{1,3})?\)$)/

\d+「1桁以上」を意味します。

于 2012-10-11T12:37:01.333 に答える
0

正規表現を次のように変更しました:

^(\$?(?=\d+(\.\d{1,3})?$))|^(\$?\((?=\d+(\.\d{1,3})?\)$))|^((?=\d*(\.\d{1,3})?$))

そしてそれは私のために働いています。

于 2012-10-11T12:55:56.410 に答える