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

原创
2019/07/03 21:09
阅读数 4.4K

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

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部