当前位置: 代码网 > it编程>编程语言>Javascript > el-input限制输入只允许输入浮点型的解决思路

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

2024年05月18日 Javascript 我要评论
前言背景:本文主要是记录,el-input怎么限制输入只允许输入浮点型。注意是输入的时候限制只允许输入浮点型,而不是输入完提交的时候再校验提示哦!解决之路:1.input输入的限制,在vue中一般考虑

前言背景:

本文主要是记录,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限制输入内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com