el-input只能輸入數字并且只能保留一个小数点

1,254 阅读1分钟

项目当中应该会遇到这种需求

1.限制输入框只能输入数字和小数点

2.第一位不能为小数点

3.只保留一个小数点

 <el-input oninput="value=value.replace(/[^\d.]/g,'').replace(/^\./g,'').replace(/\.{2,}/g,'.').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" />

这是通过正则实现的

1.清除数字和.以外的字符

.replace(/[^\d.]/g,'')

2.验证第一个字符是数字而不是小数点

.replace(/^\./g,'')

3.只保留第一个小数点,清除多余的

.replace(/\.{2,}/g,'.').replace('.','$#$').replace(/\./g,'').replace('$#$','.')