【发布时间】:2016-12-17 11:34:06
【问题描述】:
对于货币输入,我想替换所有不在字符串开头的减号输入,或者当它是最后一个字符时,前面没有逗号。
在输入事件中,我已经用一个简单的正则表达式调用了其他一些无效输入的替换:
input.replace(/[^0-9\.\,\-]/g, '')
.replace('.', ',');
如果我可以扩展这个正则表达式来去除无效的缺点,那就太好了。
所需行为的一些示例:
-
50-50->5050 -
50,00-->50,00 -
-5-0,-->-50,-
编辑:结尾或开头的双减号也应该去掉。
-
--50,00->-50,00 -
50,--->50,-
我想我可以从积极的前瞻 -(?=.) 开始,但这仍然与第一个字符匹配。
此外,我发现this post 几乎相反(开始和结束时不允许使用减号),但仍会匹配整个字符串。不是单独的缺点。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript regex