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