解决input输入限制只能为数字或小数

1.如何实现只能输入数字或小数
<input
                        id="maxAmount"
                        v-model="maxAmount"
                        type="number"
                        pattern="number"
                        placeholder="最大金额"
                        onkeyup="value=value.replace(/[^\d\.]/g,'')">

其中

value=value.replace(/[^\d.]/g,'')
[^\d.] 表示所有除了数字和小数点以外的字符
这个等式表示将所有其它字符都替换为空,只保留value中的数字和小数点

并且注意:pattern的浏览器支持情况如下


在这里插入图片描述
2.防止出现以0开头的整数情况
// 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
if (val !== '' && val.indexOf('.') === -1) { 
        val = parseFloat(val)
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,742评论 0 38
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,947评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,146评论 0 10
  • 忘了从哪收集的资料了,放这儿,以备不时之需。 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{...
    study_monkey阅读 5,239评论 0 7
  • 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{...
    johney_zhou阅读 3,110评论 0 1