首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >允许使用JavaScript Regex输入输入的金额

允许使用JavaScript Regex输入输入的金额
EN

Stack Overflow用户
提问于 2012-02-23 15:18:28
回答 2查看 1.3K关注 0票数 1

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

  • 25,000美元
  • 25000美元
  • 二万五千
  • 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,2})?$/;

目前,它不允许输入0.99这样的金额。

EN

Stack Overflow用户

回答已采纳

发布于 2012-02-23 15:35:28

尝尝这个

代码语言:javascript
复制
^\$?(?:\d+|\d{1,3}(?:,\d{1,3})*)(?:\.\d{2})?$

看吧,在Regexr上

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

编辑:

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

代码语言:javascript
复制
^\$?(?!0\d)(?:\d+|\d{1,3}(?:,\d{1,3})*)(?:\.\d{2})?$

看吧,在Regexr上

没有前瞻性的解决方案

代码语言:javascript
复制
^\$?(?:0|[1-9]\d*|[1-9]\d{0,2}(?:,\d{1,3})*)(?:\.\d{2})?$

雷杰克斯上看

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9415780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档