不允许单个“ - ”但仍然允许Regex中的负值和金钱

时间:2015-06-09 14:53:10

标签: javascript regex

我有点时间搞清楚这一点。我能够将正则表达式放在一起,允许在数字字段中使用负数和金钱小数。但是,我遇到的问题是,有人可以只是简单地说“ - ”并且它不会爆炸。我如何允许短划线,但它不能成为破折号?

这就是我所拥有的。尝试在[^-]?的行中添加一些内容,但它不能满足我的需要。

(-)?(\$)?([\d]{1,})?(\.([\d]{1,})?)?

1 个答案:

答案 0 :(得分:2)

这个正则表达式可能适用于您的情况:

^-?\$?\d+(?:\.\d+)?

从零或一个连字符开始,然后是零或一个美元符号,然后是一个或多个数字,后跟零或一组点和一个或多个数字。

无论连字符,美元符号,小数部分或全部是否存在,都需要有一个或多个数字