Shaw0xyz 发表于 2024-7-1 12:46:53

Element - ui :el-input 输入只能是数字并且小数点后只能是1-2位

本帖最后由 Shaw0xyz 于 2024-7-3 18:39 编辑

1. 概述

Element-UI 是一个基于 Vue.js 的组件库,广泛应用于各类前端项目。在日常开发中,常常需要对用户输入进行限制,例如只能输入数字且小数点后只能有1到2位。本文将详细介绍如何使用 Element-UI 中的 :el-input 组件实现这一需求。

1.1 前置知识

在开始之前,需要了解以下前置知识:
- Vue.js 基础
- Element-UI 的基本使用方法
- 正则表达式基础

1.2 目标

本文的目标是通过实例演示和代码讲解,帮助读者掌握如何使用 :el-input 组件限制用户输入仅为数字,并且小数点后只能有1到2位。

2. 实现方法

2.1 基本思路

实现这一需求的基本思路是通过 Vue.js 的双向绑定机制和 :el-input 组件的 input 事件,对用户的输入进行实时验证和处理。当用户输入不符合要求时,及时对其进行纠正。

2.2 代码实现

以下是具体的实现步骤:

2.2.1 创建 Vue 实例

首先,我们需要创建一个 Vue 实例,并引入 Element-UI 组件库。

import Vue from 'vue'
import { Input } from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(Input)

new Vue({
el: '#app',
data() {
    return {
      userInput: ''
    }
}
})

2.2.2 使用 :el-input 组件

在模板中使用 :el-input 组件,并绑定 userInput 数据。

<template>
<div id="app">
    <el-input v-model="userInput" @input="handleInput"></el-input>
</div>
</template>

2.2.3 编写 handleInput 方法

在 methods 中添加 handleInput 方法,通过正则表达式验证用户输入,并对不符合要求的输入进行处理。

methods: {
handleInput(value) {
    const regex = /^\d*\.?\d{0,2}$/
    if (!regex.test(value)) {
      this.userInput = this.userInput.slice(0, -1)
    } else {
      this.userInput = value
    }
}
}

(1) regex 用于验证用户输入是否符合要求,即只能输入数字,并且小数点后只能有1到2位。
(2) 如果输入不符合要求(即正则表达式匹配失败),则通过 this.userInput.slice(0, -1) 删除最后一个字符。
(3) 否则,将输入的值赋给 userInput。

3. 完整代码示例

综合以上步骤,完整代码如下:

import Vue from 'vue'
import { Input } from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(Input)

new Vue({
el: '#app',
data() {
    return {
      userInput: ''
    }
},
methods: {
    handleInput(value) {
      const regex = /^\d*\.?\d{0,2}$/
      if (!regex.test(value)) {
      this.userInput = this.userInput.slice(0, -1)
      } else {
      this.userInput = value
      }
    }
}
})

<template>
<div id="app">
    <el-input v-model="userInput" @input="handleInput"></el-input>
</div>
</template>

4. 总结

本文介绍了如何通过 Element-UI 的 :el-input 组件和 Vue.js 实现对用户输入的限制,使其只能输入数字且小数点后只能有1到2位。通过正则表达式的使用,可以高效地验证和处理用户输入。这一方法适用于各种需要对输入内容进行限制的场景,具有较高的实用价值。






/ 荔枝学姐de课后专栏 /

Hi!这里是荔枝学姐~

欢迎来到我的课后专栏

自然语言学渣 NLP摆烂姐

热衷于技术写作 IT边角料

AIGC & Coding & Linux ...

~互撩~ TG: @Shaw_0xyz
页: [1]
查看完整版本: Element - ui :el-input 输入只能是数字并且小数点后只能是1-2位