我目前正在使用以下正则表达式在我的html输入表单字段中验证货币:
/[1-9]\d*(?:\.\d{0,2})?/
但是,它允许通过以下值:13000.234.12
这不是有效值.以下是我想要允许的有效值:
有效
125 1.25 1000.15 700.1 80.45 0.25
无效
130.1.4 21.......14
感觉就像那里应该有一个标准的正则表达式模式,想法?
旁注:我通过事件键监听器阻止了字母数字字符和美元符号,因此它们已经无法输入,这会使这个问题变得容易一些.
解决方法
这样的事情应该有效:
^(\d*\.\d{1,2}|\d+)$
它匹配:
1.00 1 0.23 0.2 .2
它不匹配:
. 1.1.