负浮点值验证

时间:2015-10-09 08:33:59

标签: javascript jquery

我对浮动值的验证感到困惑。我想允许积极和消极 浮动值。 我尝试按下输入框按键上的块

JTable table = new JTable(...);

其中function allowFloatingNumberOnly(e, id){ if ((e.which !=45 ) && (e.which !=46 || $(id).val().indexOf('.') != -1 ) && e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) { return false; } } 是输入文本的id。它以负char而失败。 我能够提供像43--44,-43-211这样的输入。 我想阻止用户在错误的地方输入负数字。 感谢

1 个答案:

答案 0 :(得分:0)

您可以使用Number()功能检查数字是否为有效数字:

function isValid(str) {
    return !isNaN(Number(str));
}

听起来你想要超越它并验证下一个密钥是否会导致无效的数字。这更棘手,但这是一种方法:

$(function () {
    $('input.number').on('input', function () {
        var $el = $(this);
            val = $el.val(),
            oldValue = $el.data('oldValue');

        if (val !== '-' && 
            isNaN(Number(val)) && 
            val !== oldValue) {
            $el.val(oldValue);
        } else {
            $el.data('oldValue', val);
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <input class="number" type="text" />
    <div>
        <input type="text" />
    </div>
    <div>
        <input class="number" type="text" />
    </div>
</div>