正则表达式货币

问题描述:

我有这样正则表达式货币

12,555,666.0000 [有效期]

125,636.0000 [有效期]

1,256.0000 [有效期]

12,56..0000 [无效]

12 * 565.54.00

现在我需要一个正则表达式我必须确保

  1. 这个数字不包含除特殊字符(,)和只有一个小数点(。)

我想是这样的^[\d,]*\.{0,1}\d{0,4}$,但它不工作。

+0

[货币正则表达式](http://stackoverflow.com/questions/13848570/currency-regular-expression) – Huey

你可以尝试这样的:

^\d+(\,\d{3})*(\.\d{1,4})?$ 
  1. 开始与一个或多个数字^\d+
  2. 其次(逗号和三位数)零次或多次(\,\d{3})*
  3. 通过(点跟踪和1到4位)零次或一次(\.\d{1,4})?
  4. 结束$

实施例:https://regex101.com/r/uO4qX2/1

+0

由于此的可能重复的解决该问题Daniol – Ankon