javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > el-input限制输入

el-input限制输入只允许输入浮点型的解决思路

作者:啥咕啦呛

本文主要是记录,el-input怎么限制输入只允许输入浮点型,注意是输入的时候限制只允许输入浮点型,而不是输入完提交的时候再校验提示,感兴趣的朋友跟随小编一起看看吧

前言背景:

本文主要是记录,el-input怎么限制输入只允许输入浮点型。注意是输入的时候限制只允许输入浮点型,而不是输入完提交的时候再校验提示哦!

解决之路:

1.input输入的限制,在vue中一般考虑 @input  @input.native onkeyup oninput等,当然还有@blur,@change。但是我们这边前提是输入就只允许输入浮点型,也就是数字和小数点,再多点考虑一个正负号。

2.所以我本次记录的方法,在针对element-ui中的el-input进行限制输入。采用两个同时限制。

<el-input type="text" ref="contentInput" v-model="oneData.content" 
          oninput ="value = value.replace(/[^0-9.-]/g,'')"
          @input="handleInput('content')"
          @change="changedata"
></el-input>

①输入替换,只允许输入数字和小数点.和减号-:

如果只用这个会输入的时候能够输入多个小数点,不符合浮点型格式,就算粘贴来的的也要符合

oninput ="value = value.replace(/[^0-9.-]/g,'')"

②校验格式替换:

如果只用这个也是可以的,但是在输入中文时,拼音还是会打入到输入框中

 handleInput(name){
     this.oneData[name] = this.oneData[name]
         .replace(/[^\-\d.]/g, '')  //只能输入   数字 小数点 -
         .replace(/\-{2,}/g, "-") // 只能出现一次- 
         .replace(/^0+(\d)/, '$1') //如果第一位是 0 就替换成后面的数字
         .replace(/^\./, '0.') //如果第一位是 . 就 替换成  0.
         .match(/^[\d\-]*(\.?\d{0,5})/g)[0] || ''  //开头只能允许数字或者 -
},

在这两个同时设置后,就把输入限制的死死的了,如果您还有别的方法欢迎评论区交流哈。

到此这篇关于el-input怎么限制输入只允许输入浮点型的文章就介绍到这了,更多相关el-input限制输入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文