0

这可能是一个已经解决了很多次的简单问题。我是前端开发的新手,所以在验证部分很挣扎。我有一个货币输入,我在 JavaScript 中使用以下语句只允许数字。我可以只编辑它或添加一行以在您键入时也只允许两位小数吗?

$("input#amountToSave").on("blur keyup", function() {
        this.value=this.value.replace(/[^0-9.]+/,'');
});
4

2 回答 2

0

好的 - 我想我看到了问题。我需要一个反转的正则表达式(它可以是一个简单的两位小数 - 现在我不需要它太复杂,也不需要货币符号)。我现在在阅读时看到我正在测试该值是否不是 0-9 替换为空格。所以我需要添加到那个reg exp,如果它是第3个小数,然后用空格替换。

于 2013-07-08T08:27:50.533 回答
0

你可以试试这样的

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

许多货币表达式允许前导零,因此 01.40 美元通过它们。这个表达式会杀死他们,除了 one's 列中的 0。使用或不使用逗号和/或美元符号。小数不是强制性的,除非在一个列中没有零并且放置小数点。允许 $0.00 和 .0 关键字:货币美元货币

例如,

$1,234.50 | $0.70 | .7
于 2013-07-08T07:18:25.673 回答