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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值