• 技术文章 >web前端 >js教程

    输入框只能输入负数,整数,2位小数(键盘弹起事件)

    php是最好的语言php是最好的语言2018-08-06 15:35:13原创1216
    html代码

     <input type="text" onkeyup="clearNoNum(this)">

    js代码

       function clearNoNum(obj) {
           var str,num,arr,len,bool; 
           obj.style.imeMode ='disabled'   //禁止输入法
        
           obj.value = obj.value.replace("-", "$#$").replace(/\-/g, "").replace("$#$","-");
           obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$",".");
        
           arr = obj.value.substring(0,1);
           num = /^[0-9]*$/.test(arr);
           len = obj.value.substring("0",1);
    
       if( ((arr == "-") || (num == true && arr !== "0" )) || /^[0-9]*$/.test(obj.value) && len !== "0"){
    
           bool =  obj.value.slice(1).indexOf("-");     
           if(/^[0-9]*$/.test(bool)){
              obj.value = null
           }
    
           obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');// 只能输入两个小数     
           obj.value = obj.value.replace(/[^\-?\d.]/g, ""); // 清除"数字"和"."和"-"以外的字符
    
           if(obj.value !== "-" && obj.value !== "" & obj.value !== null){                    
                var val = parseFloat(obj.value);
                if (val >= 100000000000000000) {
                    obj.value = "99999999999999.99";
                }             
                   console.log(obj.value)  //最终值
          }
       }else{
          obj.value = null; 
       }
    }

    写的不好!
    希望大神们指点
    错误或者可以简写的地方

    相关文章:

    解析html输入框只能输入数字和只能输入字母数字

    限制文本框只能输入数字,小数点,英文字母,汉字

    以上就是输入框只能输入负数,整数,2位小数(键盘弹起事件)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript html5
    上一篇:关于JS中字符串的代码实例和解释 下一篇:案例分享转盘抽奖的demo(附代码)
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 什么是变更检测?聊聊angular的变更机制• 深入了解angular中的@Component装饰器• JavaScript面向对象详细解析之属性描述符• 什么是状态?深入学习angular中的动画• 详解node中如何安装多版本并进行切换
    1/1

    PHP中文网