资讯专栏INFORMATION COLUMN

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

tanglijun / 3208人阅读

摘要:代码代码禁止输入法只能输入两个小数清除数字和和以外的字符最终值写的不好希望大神们指点错误或者可以简写的地方

html代码

 

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+).(dd).*$/, "$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; 
   }
}

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96642.html

相关文章

  • Vue中结合ElementUI实现:限制输入只能输入整数

    摘要:中结合实现限制输入框只能输入正整数如果觉得对您有所帮助,麻烦您动动您的小手指给点个赞呗中禁止输入小数和负数只允许输入正整数做法一利用禁止按键的方法,主要是依靠禁止按下减号以及小数点来完成的首先要监听键盘按下事件,因为上面的组件监听事件是没有 Vue中结合ElementUI实现:限制输入框只能输入正整数 如果觉得对您有所帮助,麻烦您动动您的小手指给点个赞呗(*^▽^*) input中禁止...

    iamyoung001 评论0 收藏0
  • 可能这些是你想要的H5软键盘兼容方案

    摘要:然而,并没有直接监听软键盘的原生事件,只能通过软键盘弹起或收起,引发页面其他方面的表现间接监听,曲线救国。软键盘收起表现触发输入框以外的区域时,输入框失去焦点,软键盘收起。可以让软键盘弹起后,让焦点元素再次滚到可视区,强迫滚到位。 前言 最近一段时间在做 H5 聊天项目,踩过其中一大坑:输入框获取焦点,软键盘弹起,要求输入框吸附(或顶)在输入法框上。需求很明确,看似很简单,其实不然。从...

    stackvoid 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<