我有一个网格,我必须允许用户输入正数或负数,最多2位小数。
//On keypress event
amountValidation: function (e) {
$('.js-amt').keypress(function (e) {
var character = String.fromCharCode(e.keyCode)
var newValue = this.value + character;
if (isNaN(newValue) || hasDecimalPlace(newValue, 3)) {
e.preventDefault();
return false;
}
});
function hasDecimalPlace(value, x) {
pointIndex = value.indexOf('.');
return pointIndex >= 0 && pointIndex < value.length - x;
}
},
&#13;
答案 0 :(得分:1)
您可以使用:
$('.js-amt').keypress(function (e) {
var regex = /^-?\d+(\.\d{0,2})?$/g;
if (!regex.test(this.value)) {
this.value = '';
}});
您也可以使用:
$('.js-amt').keypress(function (e) {
$(this).val(function(i,val){ return parseFloat(val,10).toFixed(2) });
});