Vue中输入框仅支持数字输入

ops/2024/9/23 7:25:56/

方法 1: 使用 @input 事件和正则表达式

通过监听 @input 事件并使用正则表达式来验证输入,只允许输入数字。

<template><div><input type="text" v-model="inputValue" @input="validateInput" /></div>
</template><script>
export default {data() {return {inputValue: ''};},methods: {validateInput() {// 只允许输入数字this.inputValue = this.inputValue.replace(/[^0-9]/g, '');}}
};
</script>

方法 2: 使用 @keypress 事件

通过监听 @keypress 事件来限制输入,只允许输入数字。

<template><div><input type="text" @keypress="allowOnlyNumbers" /></div>
</template><script>
export default {methods: {allowOnlyNumbers(event) {const char = String.fromCharCode(event.which);// 允许输入数字(0-9)if (!/[0-9]/.test(char)) {event.preventDefault(); // 阻止输入}}}
};
</script>

方法 3: 使用 @keydown 事件

使用 @keydown 事件来阻止输入非数字字符。

<template><div><input type="text" @keydown="allowOnlyNumbers" /></div>
</template><script>
export default {methods: {allowOnlyNumbers(event) {// 允许的键码:0-9if (event.key < '0' || event.key > '9') {event.preventDefault(); // 阻止输入}}}
};
</script>

方法 4: 使用 type=“number” 和 min 属性

如果你使用 type=“number”,可以通过设置 min 属性来禁止负数输入,但这仍然允许用户输入小数。为了完全禁止小数和符号,结合 @input 事件进行验证。

<template><div><input type="number" min="0" @input="validateInput" /></div>
</template><script>
export default {methods: {validateInput(event) {const value = event.target.value;// 只允许输入数字if (!/^\d*$/.test(value)) {event.target.value = value.replace(/[^0-9]/g, '');}}}
};
</script>

以上方法可以有效地禁止用户在 Vue 中的输入框中输入非数字字符。选择适合你需求的方法来实现输入限制。


看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~

专注前端开发,分享前端相关技术干货,公众号:南城大前端(ID: nanchengfe)


http://www.ppmy.cn/ops/89206.html

相关文章

前端-防抖代码

//防抖debounce(fn, time 1000) {let timer null;return function (...args) {if (timer) clearTimeout(timer);timer setTimeout(() > {fn.apply(this, args);}, time);};},// 输入变化处理函数async inputChange(value) {if (!this.debouncedInputChange) {this.deboun…

卷积神经网络 - 池化(Pooling)篇

序言 在深度学习的广阔领域中&#xff0c;卷积神经网络&#xff08; CNN \text{CNN} CNN&#xff09;以其卓越的特征提取能力&#xff0c;在图像识别、视频处理及自然语言处理等多个领域展现出非凡的潜力。而池化&#xff08; Pooling \text{Pooling} Pooling&#xff09;作为…

视频教程 - 自研Vue3 Tree组件高级功能:虚拟滚动新增节点实现自动滚动

感谢小伙伴们对本套自研vue3 tree组件教程的关注&#xff0c;在前一篇媲美Element Plus JuanTree终极实战&#xff1a;虚拟滚动的功能演示中发现了小bug&#xff0c;特地整理了相关录屏来说明怎么一步步解决bug的&#xff0c;来回馈小伙伴们的支持。 Tree组件高级功能&#xff…

计算机网络--网络层串讲

笔记整理自学习开源文档&#xff1a;小林coding 为什么要做这个串讲&#xff1f;因为我在学习408网络层的时候&#xff0c;看完机构的视频课感觉没有很好地将知识串联起来&#xff0c;便找到《图解网络》作为补充&#xff0c;且小林的讲解是我认为开源中较为通俗易懂的&#x…

python dash框架

Dash 是一个用于创建数据分析型 web 应用的 Python 框架。它由 Plotly 团队开发&#xff0c;并且可以用来构建交互式的 web 应用程序&#xff0c;这些应用能够包含图表、表格、地图等多种数据可视化组件。 Dash 的特点&#xff1a; 易于使用&#xff1a;Dash 使用 Python 语法…

8.3 字符串中等 306 Additive Number 423 Reconstruct Original Digits from English

306 Additive Number //累加数&#xff1a;除了前两个数&#xff0c;其余数都等于前两个加起来&#xff0c;至少包括三个数 //难点找到前两个数 //条件1&#xff1a;至少包括三个数–>确定前两个数字的最大长度 len n/3 看下方注意1 //条件2&#xff1a;遇到0默认归属于他…

Langchain核心模块与实战[9]:RAG检索增强生成[文本向量化、实战ChatDoc智能文档助手]

Langchain核心模块与实战[9]:RAG检索增强生成[文本向量化、实战ChatDoc智能文档助手] 参考文章可以使用国产LLM进行下述项目复现: 初识langchain[1]:Langchain实战教学,利用qwen2.1与GLM-4大模型构建智能解决方案[含Agent、tavily面向AI搜索]langchain[2]:Langchain实战教…

spring注解:@Transactional使用简介

Transactional 是 Spring 框架提供的声明式事务管理的一个核心注解&#xff0c;主要用于对方法进行事务管理。它能够确保方法在执行过程中的多个操作要么全部成功&#xff0c;要么全部失败。这种事务管理方式可以简化开发人员编写事务管理代码的工作量&#xff0c;提高开发效率…