当前位置:首页 >> 网络编程

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;
 } 
}

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