首页 > web前端 > js教程 > 正文

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

php是最好的语言
发布: 2018-08-06 15:35:13
原创
2373人浏览过

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中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号