gpt4 book ai didi

javascript - 允许使用 JavaScript 正则表达式将金额输入到输入中

转载 作者:行者123 更新时间:2023-11-30 18:31:55 26 4
gpt4 key购买 nike

我正在使用普通的 JavaScript,需要一些关于我的正则表达式的帮助。必须允许使用以下格式的货币,并且仅允许使用这些格式(对于允许的美元金额,0 的数量(十、百、千等)没有限制):

  • 25,000 美元
  • 25000 美元
  • 25,000
  • 25000
  • 25000.01
  • 25,000.99
  • 2000.99
  • 50.00
  • 50
  • 1.95
  • 1 .99
  • 0.25
  • 0.25 美元
  • 0.2
  • 2.3
  • 2000.5
  • .75

var regex = /^\$?.?[1-9][0-9,]*(.[0-9]{0,2})?$/;

目前,它不允许输入 0.99 之类的金额。

最佳答案

试试这个

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

查看here on Regexr

唯一不匹配的是你的倒数第三个例子,它在点之前有一个空格。这有效吗?

编辑:

我的第一个解决方案有一个限制,它会接受以 0 开头的数字,比如 001。这个解决方案使用负前瞻来避免这种情况:

^\$?(?!0\d)(?:\d+|\d{1,3}(?:,\d{1,3})*)(?:\.\d{2})?$

查看here on Regexr

没有前瞻的解决方案

^\$?(?:0|[1-9]\d*|[1-9]\d{0,2}(?:,\d{1,3})*)(?:\.\d{2})?$

查看Regexr

关于javascript - 允许使用 JavaScript 正则表达式将金额输入到输入中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9415780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com