Javascript正则表达数字/十进制和减号

时间:2014-04-19 22:39:42

标签: javascript regex

在我的网络表单文本框中,我想只允许小数点后只有2位数的数值,并且在数字前面可以有负号(减号)。例如xxx.xx或-xxx.xx OR xxx OR -xxx。我知道下面的代码几乎可以满足我的要求但是我应该如何才允许 - 数字之前的 - (减号)符号?

onBlur="this.value = this.value.replace(/[^0-9\.]/g, '');"

因此,无论用户类型如何,都应删除字母字符和其他符号。

2 个答案:

答案 0 :(得分:0)

this.value.replace(/^(-?).*?(\d+\.\d{2}).*$/, "$1$2");

答案 1 :(得分:0)

删除其他字符后删除任何不是第一个字符的减号:

onBlur = "this.value = this.value.replace(/[^0-9\.-]/g, '').replace(/(.)-+/g, '$1');"