vue如何限制只能输入正负数及小数

 <el-input keyup.native="isFloor"/>

//正数,含小数

isFloor(e,type){
   if(type=='floor') {
    var val=e.target.value;
    //限制只能输入一个小数点
    if (val.indexOf(".") != -1) {
     var str = val.substr(val.indexOf(".") + 1);
     if (str.indexOf(".") != -1) {
      val = val.substr(0, val.indexOf(".") + str.indexOf(".") + 1);
     }
    }
    e.target.value = val.replace(/[^\d^\.]+/g,'');
   }
   
  },
//正负数,含小数

isFloor(){
 var obj=event.target;
 var t = obj.value.charAt(0); 
 obj.value = obj.value.replace(".", "$#$")//把第一个字符'.'替换成'$#$'
               .replace(/\./g, "")//把其余的字符'.'替换为空
               .replace("$#$", ".")//把字符'$#$'替换回原来的'.'
               .replace(/[^\d.]/g, "")//只能输入数字和'.'
               .replace(/^\./g, "")//不能以'.'开头
               .replace( /([0-9]+\.[0-9]{2})[0-9]*/,"$1")//只保留2位小数  
 if (t == '-') {
  obj.value = '-' + obj.value;
 } 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。