zoukankan      html  css  js  c++  java
  • input 数字输入控制(含小数)

    1,可以在keypress里验证输入的字符的合法性。

        // 数字控件的入力控制
        $("input.comma,input.comma1,input.comma2").keypress(function (e) {
            var key = String.fromCharCode(e.charCode);
            // 数字和点以外不能输入
            if (!/[0-9.-]/.test(key)) {
                return false;
            }
    
            var digit = 0;
            if ($(this).hasClass("comma")) {
                digit = 0;
            } else if ($(this).hasClass("comma1")) {
                digit = 1;
            } else if ($(this).hasClass("comma2")) {
                digit = 2;
            }
            var previewText = this.value.substring(0, this.selectionStart) + key + this.value.substring(this.selectionEnd);
            if (previewText != '-' && previewText != '.' && !$.isNumeric(previewText)) {
                return false;
            }
    
            if (digit == 0) {
                // 整数的时候、不能输入点
                if (previewText.indexOf('.') > -1) {
                    return false;
                }
            } else {
                // 小数的时候、超过小数位数不能输入
                var parts = previewText.split('.');
                if (parts.length > 1) {
                    if (parts[1].length > digit) {
                        return false;
                    }
                }
            }
        });

    2,在光标失去blur事件里,值已经输入完了,可以做值范围检查。或者由于拷贝过来的文字,keypress是验证不到的,可以再做一次数值检查,

    不是数字的话,直接清空。

        // 光标失去的时候,检查输入类型,值范围
        $("input.comma,input.comma1,input.comma2").blur(function (e) {
            var val = removeComma(this.value);
            if (!$.isNumeric(val)) {
                // 数字以外,直接清空
                $(this).val('');
                return false;
            }
            // 值范围检查
            if ($(this).attr("numberRange")) {
                var range = $(this).attr("numberRange").split(',');
                var min = parseFloat(range[0]);
                var max = parseFloat(range[1]);
                var curValue = parseFloat(val);
    
                // 最大値
                if (curValue > max) {
                    $(this).val(format_number(max));
                    $(this).trigger("change");
                }
                // 最小値
                if (val < min) {
                    $(this).val(format_number(min));
                    $(this).trigger("change");
                }
            }
        });
  • 相关阅读:
    Linux添加系统环境变量
    keras 或 tensorflow 调用GPU报错:Blas GEMM launch failed
    python 安装虚拟环境
    Seq2Seq 到 Attention的演变
    聊天内容处理笔记
    LSTM 详解
    keras 打印模型图
    zip 的对象是不能用索引去取的
    c# 反射获取属性值 TypeUtils
    .iml文件恢复
  • 原文地址:https://www.cnblogs.com/xiashengwang/p/5336271.html
Copyright © 2011-2022 走看看