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

转自 https://my.oschina.net/u/4099729/blog/3069230

发表评论 已发布评论 0 《点我查看评论规范》
暂无数据