验证输入是否是数字 - musishui/WebStudy GitHub Wiki

// 数字输入
$(document).ready(function () {
    $("input[data-type='number']").css("ime-mode", "disabled");
    $(document).on("keypress", "input[data-type='number']", function (event) {
        var retValue = false;
        var keyCode = event.charCode == undefined ? event.keyCode : event.charCode;
        if ((keyCode >= 48 && keyCode <= 57)) {
            retValue = true;
        } else if (keyCode == 45) {
            retValue = $(this).val().indexOf(String.fromCharCode(keyCode)) < 0;
        }
        if (retValue) {
            $(this).data("oldvalue", $(this).val());
        }
        return keyCode == 0 || retValue;
    }).on("keyup", "input[data-type='number']", function () {
        var value = $(this).val();
        //检查是否是非数字值
        if (isNaN(value) && value !== "-") {
            $(this).val($(this).data("oldvalue"));
        } else {
            $(this).data("oldvalue", value);
        }
    });
    $("input[data-type='float']").css("ime-mode", "disabled");
    $(document).on("keypress", "input[data-type='float']", function (event) {
        var retValue = false;
        var keyCode = event.charCode == undefined ? event.keyCode : event.charCode;
        if ((keyCode >= 48 && keyCode <= 57)) {
            retValue = true;
        } else if (keyCode == 46 || keyCode==45) {
            retValue = $(this).val().indexOf(String.fromCharCode(keyCode)) < 0;
        }
        if (retValue) {
            $(this).data("oldvalue", $(this).val());
        }
        return keyCode == 0 || retValue;
    }).on("keyup", "input[data-type='float']", function () {
        var value = $(this).val();
        //检查是否是非数字值
        if (isNaN(value) && value !== "-") {
            $(this).val($(this).data("oldvalue"));
        } else {
            $(this).data("oldvalue", value);
        }
    });
});
⚠️ **GitHub.com Fallback** ⚠️