Regex Inputmask-正则表达式货币和可选小数位数

Regex Inputmask-正则表达式货币和可选小数位数,regex,input-mask,jquery-inputmask,Regex,Input Mask,Jquery Inputmask,我正在尝试使用Robin Herbots Inputmask插件创建一个货币正则表达式,但找不到一种方法让它一起工作 我需要一个正则表达式,允许精度从2到10位,并在数千位上添加一个逗号,如下所示: 1123.00 123.12345 1123456.1234567890 等等。我最终得到了这些正则表达式^\\d{1,3}(?:,\\d{3})*$和\d{1,99}、\d{2,10}。他们都达到了我所需要的,但是是分开的。我如何让他们一起工作 谢谢 您可以使用 /^(?=(?:,?\d){1,9

我正在尝试使用Robin Herbots Inputmask插件创建一个货币正则表达式,但找不到一种方法让它一起工作 我需要一个正则表达式,允许精度从2到10位,并在数千位上添加一个逗号,如下所示:

1123.00

123.12345

1123456.1234567890

等等。我最终得到了这些正则表达式
^\\d{1,3}(?:,\\d{3})*$
\d{1,99}、\d{2,10}
。他们都达到了我所需要的,但是是分开的。我如何让他们一起工作

谢谢

您可以使用

/^(?=(?:,?\d){1,99}(?:\.\124;$)\ d{1,3}(?:,\d{3})*(?:\.\d{2,10})$/

详情:

  • ^
    -字符串的开头
  • (?=(?:,?\d){1,99}(?:\.\124;$)
    -一种正向前瞻,要求可选的
    后跟一个数字,然后后跟
    或字符串结尾
  • \d{1,3}
    -一到三位数字
  • (?:,\d{3})*
    -逗号的出现次数为零或更多,然后是三位数字
  • (?:\。\d{2,10})
    -可选出现的
    和两到十位数字
  • $
    -字符串结束

感谢您的回复!这在regex101中似乎很重要,但如果我尝试使用inputmask插件,它似乎不起作用。。你知道为什么吗?@xSlok这意味着你不能使用纯正则表达式解决方案。我明白了。。。正则表达式真的是我的另一个需求的解决方案。常规货币掩码在这方面效果不错,但我需要2到10之间的可选小数位数