vue element组件库限制只能输入数字,且保留小数后两位

vue element组件库限制只能输入数字,且保留小数后两位

项目需求el-input组件输入的时候使用v-model.number="value"一开始可以输入任何字符。除非第一次输入为数字,后面输入的内容才会被限制,只能输入数字。这个并不符合需求。

我们要实现如下功能:

  1. 必须为数字
  2. 只能有一个小数点
  3. 小数点后保留两位小数
  4. 当第一位输入小数点的时候自动补全,补为 0.
  5. 除非是小数,否则数字不能以0开头

最终考虑通过绑定input事件对输入的内容进行自定义过滤,可以使用多种方式进行匹配,这里我举两种方式:

  • 第一种为字符串切割匹配
  • 第二种完全使用正则匹配

1. typescript字符串切割匹配版本





2. JavaScript字符串切割匹配版本




3. typescript正则匹配版本




4. javascript 正则匹配版本




最后,在日常使用中,推荐使用正则匹配;

你可能感兴趣的:(vue element组件库限制只能输入数字,且保留小数后两位)