繁体   English   中英

正则表达式货币格式 - javascript

[英]Regex Currency format - javascript

我目前正在使用以下正则表达式在我的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.
/^(\d*?)(\.\d{1,2})?$/

所以它是(开始)(任何数量的数字 ,甚至是零),(。然后只有数字 ,一两个,但不一定要在那里)结束

我用逗号作为小数分隔符。 我的朋友们:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM