• JS 验证输入框输入 只允许输入正实数(正整数,正小数),其他情况下不能输入 oninput事件


    input标签的oninput事件

    要求输入框只输入正实数,包括整数和小数。

    具体要求:整数部分不超过7位,可以没有小数,若有位数不超过2位。

    <input type="text" id="myId" value="0" style=" 100px;" oninput="InputOnchange(this.id);" />
    <script>
    function InputOnchange(thisId) {
        //验证数据
        var valueCurrent = document.getElementById(thisId).value;
        var value = valueCurrent;
        //不是数字
        if (/[^d]/.test(valueCurrent)) {
            //含小数点
            if (valueCurrent.indexOf(".") != -1) {
                var valueArray = valueCurrent.split(".");
                //小数点不能首位
                if (valueCurrent.indexOf(".") == 0) {
                    value = '';
                }
                //小数点只有一个
                else if (valueArray.length > 2) {
                    value = valueCurrent.substring(0, valueCurrent.length - 1);
                }
                //小数位数为2,且是数字
                else if (valueArray[1].length > 2) {
                    valueArray[1] = valueArray[1].substring(0, 2);//valueArray[1].length - 1
                    if (/[^d]/.test(valueArray[1])) {
                        valueArray[1] = valueArray[1].replace(/[^d]/g,'');
                    }
                    value = valueArray.join('.');
                }
                //小数部分也只能是数字
                else if (/[^d|.]/.test(valueCurrent)) {
                    value = valueCurrent.replace(/[^d|.]/g, '');
                }
            }
            else{
                value = valueCurrent.replace(/[^d]/g, '');
            }
        }//开头不能连续两个0
        else if (valueCurrent.substring(0,1) == "0") {
            if (valueCurrent.substring(1,2) != ".") {
                value = "0";
            }
        }
        //整数位数不超过7位
        else if (valueCurrent.length>7) {
            value = valueCurrent.substring(0,7);
        }
        document.getElementById(thisId).value = value;
        //...省略部分代码...//
    }
    </script> 
  • 相关阅读:
    ICE-3.5.1-错误记录
    windows下qtcreator添加ICE库文件
    LINUX下QT与C语言通过网卡名获取网卡IP与MAC
    Apache部署Django+Vue
    三次握手和四次挥手面试常问
    配置mysql时报错
    nosql的介绍以及和关系型数据库的区别
    redis的基本操作
    在Centos安装redis-孙志奇
    git的使用
  • 原文地址:https://www.cnblogs.com/dyhao/p/9983950.html
Copyright © 2020-2023  润新知